抽屉导航器屏幕奇怪的行为

Drawer navigator screens strange behavior

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

示例如下:

- DrawerNavigator
  - Screen1
  - Screen2

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

谢谢!

您必须使用 'useFocusEffect',每次加载屏幕时都会 运行。

您可以在此处找到参考资料 https://reactnavigation.org/docs/use-focus-effect/

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