Javascript 使用react navigation在react native中的不同导航器之间跳转
我有三个导航员。MainNavigator是其他两个(身份验证和活动)的根目录。根据用户是否成功登录,我需要将用户从身份验证堆栈路由到活动堆栈。我该怎么做?我似乎还没有弄明白这一点(来自Angular的新反应) 下面是我用来导航到活动堆栈的代码行:Javascript 使用react navigation在react native中的不同导航器之间跳转,javascript,react-native,react-navigation,Javascript,React Native,React Navigation,我有三个导航员。MainNavigator是其他两个(身份验证和活动)的根目录。根据用户是否成功登录,我需要将用户从身份验证堆栈路由到活动堆栈。我该怎么做?我似乎还没有弄明白这一点(来自Angular的新反应) 下面是我用来导航到活动堆栈的代码行: this.props.navigation.navigate('Activities'); 认证: export const AuthNavigator = StackNavigator({ Login: {
this.props.navigation.navigate('Activities');
认证:
export const AuthNavigator = StackNavigator({
Login: {
screen: Login,
},
SignUp: {
screen: SignUp
},
Confirm: {
screen: ConfirmSignUp
}
}, {
initialRouteName: 'Login',
headerMode: 'none',
animationEnabled: 'true'
});
活动:
export const ActivitiesNavigator = TabNavigator({
ActivityList: {
screen: ActivityList
},
MyActivityList: {
screen: MyActivityList
},
CreateActivity: {
screen: CreateActivity
}
}, {
initialRouteName: 'ActivityList'
});
主导航器:
export const MainNavigator = StackNavigator({
Auth: { screen: AuthNavigator},
Activities: { screen: ActivitiesNavigator },
}, {
initialRouteName: 'Auth',
headerMode: 'none',
animationEnabled: 'true'
});
这确实有效。睡眠不足使我使用了另一种方法来执行“导航”命令。因此,在我的App.js文件中,我只需要返回MainNavigator,就可以开始了:
render() {
return (
<MainNavigator/>
);
}
render(){
返回(
);
}
您不需要3个导航器。这是使用React Navigation执行此操作的方法
export const AuthNavigator = StackNavigator({
Login: {
screen: Login,
},
SignUp: {
screen: SignUp
},
Confirm: {
screen: ConfirmSignUp
},
Main: {
screen: ActivitiesNavigator
}
}, {
initialRouteName: 'Login',
headerMode: 'none',
animationEnabled: 'true'
});
访问重置:
重置操作将擦除整个导航状态,并将其替换为多个操作的结果
在最新的react导航版本:3.3.0中,我使用了:at注册或登录,以便启动主/主流程
从'react navigation'导入{StackActions,NavigationActions};
const resetAction=StackActions.reset({
索引:0,
key:null,//我实际上是这样做的,因为我想以一种可重用的方式对我的应用程序进行模块化。您所做的与我所做的相同,但您没有隔离身份验证导航,而是将其嵌入到主导航中。