如何使用React Navigation 5.x在不同的选项卡中重置堆栈

问题描述 投票:3回答:1

我的应用程序有一个TabNavigator,每个Tab中都有一个StackNavigator。通过单击不同的选项卡在堆栈之间导航时,我不会重置堆栈,因此,当您更改选项卡时,堆栈将包含先前的状态。但是,有时候,我想从一个选项卡的屏幕中导航到另一个选项卡中的特定屏幕,并且在这种情况下,我想重置目标选项卡中的堆栈。

TabNavigator
    Tab1 
      StackNavigator
         - ScreenA
         - ScreenB
    Tab2
      StackNavigator
         - Screen1
         - Screen2

我希望能够在Screen2上放置一个按钮,以重置Tab1上的堆栈。

我想知道这里文档中提到的“ target”参数是否会有所帮助,但是没有如何使用它的示例。 https://reactnavigation.org/docs/navigation-actions/

((我已经在这里搜索过,但是针对4.x的建议答案似乎不再适用)。谢谢!

react-navigation react-native-navigation react-navigation-v5
1个回答
0
投票

这可能是一个解决方案。单击选项卡时,它将重置堆栈。但是在主屏幕滑入时会有明显的延迟。(React Navigation V5)

<bottomNavigator.Screen
  name="ScreenA"
  component={component}
  listeners={({ navigation }) => ({
    tabPress: () => {navigation.navigate('ScreenA');
    },
  })}
/>
© www.soinside.com 2019 - 2024. All rights reserved.