Как перейти с экрана входа в систему после нажатия кнопки выхода из системы?

Я пытаюсь реализовать функцию выхода из системы в React Native. После входа в систему пользователи будут попадать на homescreen, которая содержит боковую панель. Кнопка выхода находится на боковой панели. Я использую навигатор стека из реагирующей навигации для перехода с одного экрана на другой. Я пробовал, как показано ниже, но есть ошибка, которая будет направлена ​​на пустой экран при нажатии на выход кнопка.

onPressLogout(){
     AsyncStorage.removeItem('userdetail');
    this.props.navigation.navigate('LoginScreen');
    alert('You have been logged out.');
}

В настоящее время я пишу этот код в homescreen. Где мне написать код для выхода из системы? Он находится в пределах Sidebar? Также как перейти Пожалуйста, помогите.

Обновлено

  const MainNavigator = TabNavigator({
         login: {screen: LoginScreen},
         register: { screen : RegisterForm },
  },

     {
  tabBarPosition: 'bottom',
  animationEnabled: true,
  color:"#aa4a00",
  tabBarOptions: {
    labelStyle: {
      fontSize: 15,
      fontFamily: 'HelveticaNeueBd',
      color: '#4B4C4B',
      backgroundColor: '#ffffff'
    },
    indicatorStyle : {
      backgroundColor: '#aa4a00'
    },
    style : {
      borderBottomColor: '#ebcccc',
     // borderBottomWidth: 10,
    },
    tabStyle: {
    activeBackgroundColor : "#aa4a00",
    inactiveBackgroundColor: '#dddddd',
    upperCaseLabel: false
  }
  }
     });
const StackScreens = StackNavigator({
    Main: {
        screen: MainNavigator,
    },
    CourseListing:{screen: CourseListing},
    Home: {screen: HomeScreen},
    EconomicNews: {screen: EconomicNews},
    EconomicDetails: {screen: EconomicDetails},
    CategoryDetail: {screen: CategoryDetail},
    DetailedView: {screen: DetailedView},
    IndividualSection: {screen: IndividualSection},
    Mcq:{screen: Mcq},
    QASection: {screen: QASection}
})

export const MyDrawer = DrawerNavigator({
   Home: {
     screen: StackScreens,
  },
  Profile: {
      screen: Profile
  },
  FAQ: {
      screen: Faq
  },
  LogOut: {
      screen: LogOut
  }
});

person Neethu M    schedule 12.03.2018    source источник
comment
Не могли бы вы опубликовать свой StackNavigator-Code или даже более связанный код, касающийся этой проблемы.   -  person kolbma    schedule 12.03.2018
comment
я обновил свой qs, пожалуйста, помогите   -  person Neethu M    schedule 12.03.2018


Ответы (1)


this.props.navigation.navigate('LoginScreen'); должно измениться на this.props.navigation.navigate('MainNavigator'); или this.props.navigation.navigate('login');

Потому что вы называете свой LoginScreen login

person gaback    schedule 12.03.2018
comment
Да, работает, спасибо .. но я попробовал это, добавив кнопку в homescreen, кроме sidebar. Я хочу, чтобы кнопка выхода была внутри sidebar, так где мне написать код для onPressLogout? Нужно ли мне создавать для этого страницу? - person Neethu M; 12.03.2018
comment
где твоя боковая панель? mydrawer, stackscreen - person gaback; 12.03.2018
comment
Вы могли бы поставить его, где угодно. Если вы положили его на sidebar, а sidebar нет на navigation, то вам придется отправить this.props.navigation.navigate. В противном случае, если вы используете его на этих экранах выше. Затем просто введите код. - person gaback; 12.03.2018