嗨,我的导航具有 RootNavigator ,如下所示;
const App = createSwitchNavigator(
{
Auth: AuthNavigator,
App: HomeNavigator,
Seller: SellerNavigator
},
{
initialRouteName: "Auth",
headerMode: "none"
}
);
场景
身份验证包含登录名,注册名等。 应用包含首页等。用户登录后,他现在是 App Navigator 。
当用户按下Logout时我想要什么,我想正确移动用户 从应用导航器到身份验证导航器
我已经尝试过StackNavigation和NavigationActions
代码
logout = () => {
const resetAction = StackActions.reset({
index: 0,
key: null,
actions: [NavigationActions.navigate({routeName: 'Auth'})]
});
this.props.navigation.dispatch(resetAction);
};
错误
请指导我如何正确进行反应导航?
谢谢
答案 0 :(得分:1)
您不能在此处使用堆栈操作,因为Auth
不属于堆栈导航器。
您可以做的只是从注销组件中navigation.navigate('Auth')
。这将使用户进入Auth
导航器,并且由于Auth
和App
是切换导航器的一部分,因此他将无法go back
到App
堆栈,这就是您想要的行为,在这种情况下,它与使用StackActions.reset
相同。