React Native: при выходе из системы перенаправление на другую навигацию по стеку - PullRequest
0 голосов
/ 25 июня 2019

Я использую asyncStorage, чтобы изменить состояние входа / выхода в моем приложении, когда я нажимаю на logOut, я изменяю состояние на false, а затем мне приходится перенаправлять пользователя в другую стекальную навигацию (loginStackNavigation)

<TouchableOpacity
style={[styles...]}
onPress={() => onSignOut().then(this.navigateToScreen('LoggingStackNavigation'))}
>
    ...
</TouchableOpacity>

ps.Значение функции onSignOut (), сохраненное в asyncstorage

, это функция navigateToScreen ():

  navigateToScreen = (route) => (
  () => {
    const navigateAction = NavigationActions.navigate({
      routeName: route
    });
    this.props.navigation.dispatch(navigateAction);
    this.props.navigation.closeDrawer();
});

что я могу сделать, чтобы перенаправить пользователя на LoggingStackNavigation

Ответы [ 2 ]

1 голос
/ 26 июня 2019

Я думаю, что вы должны использовать Switch Navigator, где вы можете обернуть ваши 2 навигатора:

import { createSwitchNavigator } from 'react-navigation';

 const routesConfig = {
     NotAuthenticated :{screen: loggedOutStack},
     Authenticated : { screen: loggedInStack}
  }

 const SwitchNavigatorConfig= {
     initialRouteName: "NotAuthenticated"
 }

export const createSwitchNavigator(RoutesConfig, SwitchNavigatorConfigs)

Тогда вы можете просто navigation.navigate("NotAuthenticated") при необходимости

0 голосов
/ 26 июня 2019

ваша функция должна вызвать navigation.navigate

navigateToScreen = (route) => (
  () => {
    const navigateAction = NavigationActions.navigate({
      routeName: route
    });
    this.props.navigation.dispatch(navigateAction);
    this.props.navigation.closeDrawer();
    this.props.navigation.navigate(route);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...