我想知道为什么在这种情况下有必要使用useCallback
:
function MyComponent() {
const navigation = useContext(NavigationContext);
const redirect = useCallback(() => {
navigation.navigate("Home");
});
useEffect(() => {
redirect();
}, [redirect]);
}
我不能在useEffect()
中直接使用navigation
,也不能在没有useCallback()
的情况下引用函数。我不知道为什么我可以使用其他对象,如Firebase上下文(从Firestore实例)没有任何问题,但我不能直接使用navigation
。
快速查看等效代码库:Firebase上下文提供程序返回记忆而react-navigation只返回对象。