【问题标题】:React Navigation: Reset entire navigation state to initial valuesReact Navigation:将整个导航状态重置为初始值
【发布时间】:2019-03-18 17:26:49
【问题描述】:

我正在开发一个 RN 应用程序,当用户退出应用程序时,我将所有 Redux 状态重置为其初始值并导航到登录屏幕。但是,在重新登录时,导航状态已被延续,这会导致问题。如何重置导航状态,让每次登录都像一个全新的应用会话?

我的导航是这样的:

const MainNavigator = createBottomTabNavigator(
  {
    login: { screen: Login },
    main: {
      screen: createBottomTabNavigator(
        {
          home: {
            screen: createStackNavigator({
              ...
            }),
          },
          map: {
            screen: createStackNavigator({
              ...
            }),
          },
        },
      ),
    },
  },
  {
    initialRouteName: 'login',
  },
);

非常感谢!

【问题讨论】:

  • 考虑使用switchNavigator,它不处理返回动作,并且在您切换离开时将路由重置为默认状态。

标签: javascript reactjs react-native react-navigation


【解决方案1】:

来自 api https://reactnavigation.org/docs/en/navigation-prop.html#dismiss

如果您在嵌套(子)堆栈中并想要关闭整个堆栈,返回父堆栈,请调用 dismiss

所以,用那个

 this.props.navigation.dismiss()

【讨论】:

    猜你喜欢
    • 2020-11-26
    • 2021-12-01
    • 2020-11-02
    • 2020-06-16
    • 2023-01-27
    • 1970-01-01
    • 2019-07-20
    • 2021-12-31
    • 2021-12-21
    相关资源
    最近更新 更多