0

我正在尝试在本机反应中实现注销功能。用户将homescreen在登录后登陆,其中包含一个侧边栏。注销按钮位于侧边栏中。我正在使用 react-navigation 中的堆栈导航器从一个屏幕导航到另一个屏幕。我已经尝试过如下所示,但是有一个错误,当单击注销时它会直接进入空白屏幕按钮。

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
  }
});
4

1 回答 1

2

this.props.navigation.navigate('LoginScreen');应该改为this.props.navigation.navigate('MainNavigator');this.props.navigation.navigate('login');

因为你打电话给你LoginScreen login

于 2018-03-12T10:20:29.247 回答