我的应用程序目前从根目录设置如下: -
-SwitchNavigator
-Splash (Also decides if you have a token or not and where to send you...)
-AuthFlow (If no Token...)
-Login Screen
-SecureFlow (If a Token exists...)
SecureFlow看起来像这样: -
(MobX提供商)
<Provider store={stores}>
<DrawerNavigator />
</Provider>
那么DrawerNavigator如下: -
-DrawerNavigator
-StackNavigator
-Home(Main screen once authenticated)
-StackNavigator (Screen1)
-Screen1a
-Screen1b
-Screen1c
-Screen2
-Screen3
-Screen4
React-Navigation版本是2.2.5
因此,无论出于何种原因,如果我按下Screen1a或甚至Screen3的硬件后退按钮,应用程序关闭而不是实际导航回来......内置的导航器后退按钮工作正常。
谁知道为什么会这样?
我读过关于运行Redux的人必须手动设置后退按钮的行为,但这是MobX的情况吗?
在我的实现中,MobX或React Navigation似乎没有很多相互关系?
在没有查看代码的情况下,很难在这里评估一个值得尊敬的正确答案。
尽管如此,这可能是由于您的android react-native堆栈,或更可能是您的路由堆叠。
我的建议是使用react-native-router-flux软件包来管理:
https://www.npmjs.com/package/react-native-router-flux
这已经内置了Mobx,如果不完全熟悉Mobx无状态结构,您也可以通过Actions()传递数据。
你的后卫处理器中可能缺少return true
。