React Native Firebase onStateChanged 在卸载时不会取消订阅

我正在使用 React-Navigation 5 和 React Native Firebase 库。我希望 onStateChange 在从启动画面导航到另一个屏幕后不起作用,但它仍然在后台工作的原因可能是什么?


这是 onStateChange 函数:


 function onAuthStateChanged(user) {

    setUser(user);

    if (initialized) setinitialized(false);

}

这是 useEffect 函数:


   useEffect(() => {

    const subscriber = auth().onAuthStateChanged(onAuthStateChanged);

    return subscriber; // unsubscribe on unmount

}, []);


慕容森
浏览 128回答 1
1回答

慕码人2483693

我用 React Navigation 中的 useFocusEffect 解决了这个问题。只需将 useEffect 替换为 useFocusEffect。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript