我有一个简单的导航结构,设置有4个主屏幕,用户可以使用react-navigation / TabNavigator进行导航。在每个主要屏幕中,用户可以使用react-navigation / StackNavigator导航到辅助屏幕。辅助屏幕与所有4个主屏幕的组件相同,因为内容是根据使用redux选择的内容动态加载的,以更改内容的状态。
您可以在下图中看到结构。
我遇到的问题是,一旦从tab1调用辅助屏幕(例如),辅助屏幕就会滚动到与tab1相关的内容。如果用户然后导航到tab2并调用辅助屏幕,它将再次滚动到与tab2相关的内容。这很好,但是如果用户然后导航回tab1,则辅助屏幕仍然存在,这次内容与tab2相关,因为它们已经改变了上一个选项卡中的状态。
简而言之,如果用户随时与TabNavigator交互,我会尝试重置每个主屏幕的各个堆栈。我正在努力通过触发父选项卡组件中的事件来了解如何通过子堆栈组件启动函数。
希望这对人们有意义。