我正在尝试在React Native中实现注销功能。用户登录后将登陆到主屏幕,其中包含侧边栏。注销按钮位于侧栏中。我正在使用 react 导航中的堆栈导航器从一个屏幕导航到另一个屏幕。我已经尝试过如下所示,但有一个错误,当单击注销时它会定向到空白屏幕按钮。
onPressLogout(){
AsyncStorage.removeItem('userdetail');
this.props.navigation.navigate('LoginScreen');
alert('You have been logged out.');
}
目前我正在主屏幕
中编写此代码。我在哪里编写注销代码?它在侧边栏
内吗?还有如何导航请帮忙。
已更新
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
}
});
最佳答案
this.props.navigation.navigate('LoginScreen');
应更改为 this.props.navigation.navigate('MainNavigator');
或 this.props.navigation.navigate('登录');
因为你调用了你的LoginScreen
login
关于javascript - 单击 native 中的注销按钮后如何从登录屏幕导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49231982/