如何在 React-Native-Navigation v5 中设置嵌套 Stack-Navigator 的默认屏幕?

问题描述 投票:0回答:2

我在底部选项卡中使用堆栈导航器,我想在堆栈导航器中设置默认屏幕。 我正在使用 React-Native-Navigation v5,所以我必须像这样创建导航器:

const Stack = createStackNavigator();

<Stack.Navigator
    screenOptions={{
      headerShown: false,
    }}>
    <Stack.Screen name="Feed" component={Feed} />
    <Stack.Screen name="Profile" component={Profile} />
    <Stack.Screen name="NewPost" component={NewPost} />
</Stack.Navigator>

我尝试使用initialRouteName,但是当我在堆栈导航器中打开一个屏幕,然后返回到选项卡导航器中的另一个选项卡,然后返回到使用堆栈导航器的选项卡时,它仍然显示我上次查看的相同Stack.Screen (我希望它每次都显示特定的开始屏幕)。

导航员:

选项卡导航器:

  • 选项卡1:

    • 堆栈导航器
      • 屏幕1
      • 屏幕2
  • 选项卡2:

    • (只是一个选项卡屏幕)
react-native react-navigation react-native-navigation react-navigation-stack
2个回答
1
投票

你尝试过吗

<Stack.Navigator initialRouteName="Feed"></Stack.Navigator>

0
投票

也许尝试将堆栈的 unmountOnBlur 设置为 true 。

例如

>   <Stack.Navigator screenOptions={{ unmountOnBlur: true }}>
      <Stack.Screen name="Screen1" component={Screen1} />
      <Stack.Screen name="Screen2" component={Screen2} />
    </Stack.Navigator>
© www.soinside.com 2019 - 2024. All rights reserved.