抽屉导航器会显示奇怪的行为

问题描述

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

这里是示例:

- DrawerNavigator
  - Screen1
  - Screen2

我第一次访问“ Screen1” useEffect 挂钩,并且我的所有数据都已获取一旦我从中导航(导航到“ Screen2”)并返回到“ Screen1”,就什么也没有发生(不再再次获取数据) ......我缺少什么因为我想在每次访问“ Screen *”时重新启动我的数据(再次获取)?

谢谢!

解决方法

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

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

useEffect不能那样工作,因此当您返回已经安装的screen1并在堆栈中时,效果将不会运行。