我想使用useEffect与依赖性时,屏幕是重点在这个屏幕上。
useEffect会在屏幕聚焦时继续监听,如果dependancyVar改变了,它会做一些事情。我怎么做呢?
useFocusEffect(
useEffect(()=>{
if(dependancyVar){
//do something
}
else{
//do other things
}
return()=>{
alert("Screen was unfocused")
}
},[dependancyVar])
);
下面代码适合我,但我不知道是否应该使用useFocusEffect
const isFocused= useIsFocused();
useEffect(()=>{
if(isFocused){
if(dependencyVar){
//do something
}
else{
//do other things
}
}
},[isFocused, dependencyVar])
1条答案
按热度按时间s5a0g9ez1#
React导航建议在useFocusEffect中使用useCallback,而不是useEffect。
https://reactnavigation.org/docs/use-focus-effect/