我希望在用户登录后重置导航,然后我们将重定向到主页我试试这个
const Root = StackNavigator({ Unauthorized: { screen: UnAuthorized }, Authorized: { screen: Authorized }, }, { headerMode: 'screen', navigationOptions: { header: null } }); const Authorized = DrawerNavigator({ Home: { screen: Home } }); const UnAuthorized = StackNavigator({ Splash: { screen: Splash }, Login: { screen: Login }, }); await axios.post(url+'rest_users/login',user) .then(function (response) { dispatch({ type: LOGGED_IN, payload: response.data }); const resetNavigator = NavigationActions.reset({ index: 0, key: null, actions: [ NavigationActions.navigate({ routeName: 'Authorized', action: [ NavigationActions.navigate({routeName: 'Home'})] }) ], }); dispatch(resetNavigator);
const Root = StackNavigator({ Unauthorized: { screen: UnAuthorized }, Authorized: { screen: Authorized }, }, { headerMode: 'screen', navigationOptions: { header: null } }); const Authorized = DrawerNavigator({ Home: { screen: Home } }); const UnAuthorized = StackNavigator({ Splash: { screen: Splash }, Login: { screen: Login }, }); await axios.post(url+'rest_users/login',user) .then(function (response) { dispatch({ type: LOGGED_IN, payload: response.data }); const resetNavigator = NavigationActions.reset({ index: 0, key: null, actions: [ NavigationActions.navigate({ routeName: 'Authorized', action: [ NavigationActions.navigate({routeName: 'Home'})] }) ], }); dispatch(resetNavigator);
导航显示日志中的重置,但我没有看到任何屏幕移动更改。请帮助我在哪里出错
答案 0 :(得分:2)
看起来,你正在使用Redux的调度方法,而不是React-Navigation来调度你的resetAction。
您应该做的是将导航道具从您的组件传递到您需要调度resetAction的位置,然后调用ls /run/opt/corp/mydir/test2