【问题标题】:React Native Firebase onStateChanged doesn't unsubscribe on unmountReact Native Firebase onStateChanged 在卸载时不会取消订阅
【发布时间】:2020-03-17 10:58:12
【问题描述】:

我正在使用 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
}, []);

【问题讨论】:

    标签: javascript react-native react-hooks react-navigation react-native-firebase


    【解决方案1】:

    我使用 React Navigation 中的 useFocusEffect 解决了这个问题。只需将 useEffect 替换为 useFocusEffect。

    【讨论】:

      猜你喜欢
      • 2014-11-16
      • 1970-01-01
      • 1970-01-01
      • 2016-07-07
      • 2020-10-17
      • 2021-01-30
      • 1970-01-01
      • 2018-08-31
      • 2017-12-06
      相关资源
      最近更新 更多