【问题标题】:Drawer navigator screens strange behavior抽屉导航器屏幕奇怪的行为
【发布时间】:2020-09-25 07:16:59
【问题描述】:

我在我的 expo 管理的工作流项目中使用 react-navigation v5,我注意到每第二次访问一个连接到抽屉导航器的屏幕时,生命周期方法都不会被调用...

示例如下:

- DrawerNavigator
  - Screen1
  - Screen2

我第一次访问“Screen1”时,useEffect 钩子被调用,我的所有数据都被获取。 一旦我从它导航(导航到“Screen2”)并返回到“Screen1”,什么都没有发生(不再获取数据)...有什么我遗漏的吗因为我希望在每次访问“屏幕*”时重新启动我的数据(再次获取)?

谢谢!

【问题讨论】:

    标签: javascript react-native expo react-navigation-v5 react-lifecycle-hooks


    【解决方案1】:

    您必须使用每次加载屏幕时都会运行的“useFocusEffect”。

    你可以在这里找到参考 https://reactnavigation.org/docs/use-focus-effect/

    useEffect 不是这样工作的,所以当您返回到已安装且在堆栈中的 screen1 时,效果不会运行。

    【讨论】:

    • 感谢您的评论!这正是我所做的,并且有效。
    猜你喜欢
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多