Reactjs 反应导航堆栈导航器返回错误路线

Reactjs 反应导航堆栈导航器返回错误路线,reactjs,react-native,react-navigation,Reactjs,React Native,React Navigation,我有一个react本机应用程序,正在使用react导航。目前,我有一个堆栈导航器(MainNav)嵌套在选项卡导航器(TabNav)中,然后该导航器嵌套在另一个堆栈导航器(StackNav)中 当我按下StackNav中的后退按钮时,它会将我带回到MainNav中定义的路线,我不确定为什么。。。具体地说,我正在进行编辑,如果我单击后退(在StackNav上,而不是在MainNav上),我将进入登录 这是我的密码 MainNav(包含选项卡导航器): 选项卡导航(包含堆栈导航) 堆栈导航: con

我有一个react本机应用程序,正在使用react导航。目前,我有一个堆栈导航器(MainNav)嵌套在选项卡导航器(TabNav)中,然后该导航器嵌套在另一个堆栈导航器(StackNav)中

当我按下StackNav中的后退按钮时,它会将我带回到MainNav中定义的路线,我不确定为什么。。。具体地说,我正在进行编辑,如果我单击后退(在StackNav上,而不是在MainNav上),我将进入登录

这是我的密码

MainNav(包含选项卡导航器):

选项卡导航(包含堆栈导航)

堆栈导航:

const StackNav = StackNavigator({
  [MESSAGE]: { screen: MessageScreen },
  [EDIT]: { screen: PostScreen }
});

不确定这是否适用,但每个导航器都有自己的减速器,并且都已连接。所有的导航器都应该只有一个减速器吗?谢谢你的帮助

你提到了Reducer,这是否意味着你在使用Redux或类似的东西?是的,我在使用reduxI可以替换后退按钮,并定义我想要点击的路线,就像这样
navigationOptions:({navigation})=>({headerLeft:navigation.dispatch(NavigationActions.navigate({routeName:READ}))/>)
在这种情况下,您应该添加
redux
作为标记,因为它可能会使事情复杂化。您的reducer代码是什么样子的?是否正在调用
navigation.dispatch
?当你说“每个都有自己的减速器”时,我认为这可能是问题的原因。我认为如果你将headerMode设置为null可能会更好,因为你有3个嵌套导航,默认情况下导航标题不容易管理。
const TabNav = TabNavigator({
  [READ]: { screen: StackNav },
  [UNREAD]: { screen: UnreadScreen }
}, {
//options
});
const StackNav = StackNavigator({
  [MESSAGE]: { screen: MessageScreen },
  [EDIT]: { screen: PostScreen }
});