1
我正在尝试构建我的第一个React Native应用程序,并且导航问题停滞不前。 我的应用程序在堆栈导航如何将React Native应用导航重置为React导航的当前屏幕
Home
Login
User (User screen again is a Tab Navigator with three screens UserProfile, UserHome, UserSettings)
我的导航
const Navigator = StackNavigator(
{
Home: {
screen: HomeScreen
},
Login: {
screen: LoginScreen,
},
User: {
screen: UserTabNavigator,
}
},{
initialRouteName: 'Home'
},
{
navigationOptions:() => ({
headerTitleStyle: {
fontWeight: 'normal',
},
}),
}
);
最初的路线是回家,所以应用程序在主屏幕打开后,从登录有攻花费的登录屏幕
三个屏幕现在在我的登录组件中,成功验证后,我重定向到用户屏幕。
当我到用户屏幕,我看到一个后退按钮,并点击它带我回到登录屏幕
我想重置成功认证的导航堆栈,并设置用户屏幕为根,所以在登录功能我加
const resetAction = NavigationActions.reset({
index: 0,
actions: [
NavigationActions.navigate({ routeName: 'User' })
]
});
this.props.navigation.dispatch(resetAction);
这工作,因为我不看现在的后退按钮,但登录后,我看到刷卡的一个奇怪的动画回来,并简要我看到主屏幕,然后重定向到用户屏幕
我在做什么错了吗?
你可以参考这个https://stackoverflow.com/questions/43090884/复位最导航堆栈为到户屏幕反应的导航和 - 反应 - 正 –