反应导航:将整个导航状态重置为初始值

时间:2019-03-18 17:26:49

标签: javascript reactjs react-native react-navigation

我正在使用RN应用程序,当用户退出该应用程序时,我将所有Redux状态重置为其初始值,然后导航至“登录”屏幕。但是,重新登录后,导航状态已被保留,这会引起问题。如何重置导航状态,以便每次登录都像一个全新的应用会话?

我的导航如下:

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

非常感谢!

1 个答案:

答案 0 :(得分:0)

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

如果您位于嵌套(子)堆栈中,并且想要解散整个堆栈,则返回dismiss,返回到父堆栈。

所以,用它

 this.props.navigation.dismiss()