Hej, zdefiniowałem sobie listener didFocus
:
useEffect(() => {
const didFocusListener = props.navigation.addListener('didFocus', payload => {
foo();
});
return () => {
didFocusListener.remove();
};
}, []);
Metoda foo()
korzysta załóżmy z jakiejś zmiennej varA
oraz varB
const [varA, setVarA] = useState('A');
i const [varB, setVarB] = useState('B);
Jeżeli wartości tych zmiennych varA
i varB
zmienią się w trakcie działania programu to ten listener jakby tylko pamięta te pierwsze wartości i metoda foo()
widzi jedynie, że varA = A
i varB = B
.
Rozwiązałem to tak:
useEffect(() => {
const didFocusListener = props.navigation.addListener('didFocus', payload => {
foo(varA, varB);
});
return () => {
didFocusListener.remove();
};
}, [varA, varB]);
ale nie wiem czy to ok?