【问题标题】:react-navigation always mount initial screen when StackNavigator renders (v5)当 StackNavigator 渲染时 react-navigation 总是挂载初始屏幕(v5)
【发布时间】:2020-03-11 04:37:06
【问题描述】:

在 react-navigation v5 中,有没有办法在 StackNavigator 渲染时始终将初始屏幕安装/渲染为堆栈中的第一个屏幕?

【问题讨论】:

    标签: react-native react-navigation expo


    【解决方案1】:

    您需要在应用程序的 Stack.Navigator 中传递 initialRouteName 属性。

    示例代码:

    <NavigationContainer>
      <Stack.Navigator
        initialRouteName="HomeScreen" // Add this to set initial screen
        screenOptions={{
          headerShown: false,
        }}>
        <Stack.Screen name="HomeScreen" component={HomeScreen} />
        <Stack.Screen name="UploadScreen" component={UploadScreen}/>
      </Stack.Navigator>
    </NavigationContainer>
    

    Refer more information

    【讨论】:

    • 无论如何我们是否可以动态传递初始路由名称取决于我的情况,例如用户是否注册我想登录屏幕到我的初始路由。
    【解决方案2】:

    如果你想要一个特定的屏幕,请使用initialRouteName props(导航器首次加载时要渲染的路径的名称),否则默认情况下会渲染第一个堆栈屏幕。

    文档 - https://reactnavigation.org/docs/stack-navigator/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-28
      • 2018-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多