Реагировать с навигацией: сбросить все состояние навигации до начальных значений - PullRequest
1 голос
/ 18 марта 2019

Я работаю над приложением RN, и когда пользователь выходит из приложения, я сбрасываю все состояние Redux до его начальных значений и перехожу на экран входа в систему.Однако при повторном входе состояние навигации было перенесено, что вызывает проблемы.Как я могу сбросить состояние навигации, чтобы каждый вход выполнялся как совершенно новый сеанс приложения?

Моя навигация выглядит так:

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

Большое спасибо!

1 Ответ

0 голосов
/ 18 марта 2019

из API https://reactnavigation.org/docs/en/navigation-prop.html#dismiss

Вызовите dismiss, если вы находитесь во вложенном (дочернем) стеке и хотите удалить весь стек, возвращаясь к родительскому стеку.

Итак, используйте это

 this.props.navigation.dismiss()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...