0

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

这是示例:

- DrawerNavigator
  - Screen1
  - Screen2

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

谢谢!

4

1 回答 1

1

您将不得不使用每次加载屏幕时都会运行的“useFocusEffect”。

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

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

于 2020-09-25T08:20:50.387 回答