反应导航中Stack和Swtich Navigator之间的嵌套导航器之间的导航

时间:2019-09-15 06:53:49

标签: react-native react-navigation react-navigation-stack

嗨,我的导航具有 RootNavigator ,如下所示;

const App = createSwitchNavigator(
  {
    Auth: AuthNavigator,
    App: HomeNavigator,
    Seller: SellerNavigator
  },
  {
    initialRouteName: "Auth",
    headerMode: "none"
  }
);

场景

  

身份验证包含登录名,注册名等。 应用包含首页等。用户登录后,他现在是 App Navigator

     

当用户按下Logout时我想要什么,我想正确移动用户   从应用导航器到身份验证导航器

我已经尝试过StackNavigationNavigationActions

代码

logout = () => {
        const resetAction = StackActions.reset({
            index: 0,
            key: null,
            actions: [NavigationActions.navigate({routeName: 'Auth'})]
        });
        this.props.navigation.dispatch(resetAction);
};

错误

enter image description here

请指导我如何正确进行反应导航?

谢谢

1 个答案:

答案 0 :(得分:1)

您不能在此处使用堆栈操作,因为Auth不属于堆栈导航器。

您可以做的只是从注销组件中navigation.navigate('Auth')。这将使用户进入Auth导航器,并且由于AuthApp是切换导航器的一部分,因此他将无法go backApp堆栈,这就是您想要的行为,在这种情况下,它与使用StackActions.reset相同。

相关问题