我正在尝试在本机反应中实现注销功能。用户将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
}
});