【发布时间】:2018-01-12 23:08:22
【问题描述】:
我正在尝试构建我的第一个 React Native 应用程序,但遇到了导航问题。 我的应用在 Stack Navigator 中有三个屏幕
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);
这很有效,因为我现在看不到返回按钮,但登录后我看到一个奇怪的向后滑动动画,我短暂地看到主屏幕,然后重定向到用户屏幕
我做错了什么?
【问题讨论】:
-
你可以参考这个*.com/questions/43090884/…
标签: reactjs react-native react-navigation