反应导航中 Stack 和 Switch Navigator 之间的嵌套导航器之间的导航
Posted
技术标签:
【中文标题】反应导航中 Stack 和 Switch Navigator 之间的嵌套导航器之间的导航【英文标题】:Navigation between nested navigator between Stack and Swtich Navigator in react navigation 【发布时间】:2019-09-15 06:53:49 【问题描述】:您好,我的导航具有 RootNavigator,如下所示;
const App = createSwitchNavigator(
Auth: AuthNavigator,
App: HomeNavigator,
Seller: SellerNavigator
,
initialRouteName: "Auth",
headerMode: "none"
);
场景
Auth 包含登录、注册等。 App 包含 home 等。当用户登录时,他现在是 App Navigator。
当用户按下注销时我想要什么,我想正确移动用户 从 App navigator 到 Auth navigator
我已经尝试过StackNavigation 和NavigationActions
代码
logout = () =>
const resetAction = StackActions.reset(
index: 0,
key: null,
actions: [NavigationActions.navigate(routeName: 'Auth')]
);
this.props.navigation.dispatch(resetAction);
;
错误
请指导我如何在反应导航中正确操作?
谢谢
【问题讨论】:
要使用导航操作,您必须在导出之前将组件包装在导航标签中! 怎么做? 【参考方案1】:您不能在那里使用堆栈操作,因为Auth
不是堆栈导航器的一部分。
您可以做的只是来自注销组件的navigation.navigate('Auth')
。这将使用户进入Auth
导航器,并且由于Auth
和App
是开关导航器的一部分,他将无法将go back
转到App
堆栈,这是您想要的行为,在此情况下,与使用StackActions.reset
相同。
【讨论】:
以上是关于反应导航中 Stack 和 Switch Navigator 之间的嵌套导航器之间的导航的主要内容,如果未能解决你的问题,请参考以下文章