【问题标题】:React Navigation Hardware Back Button exiting app from evey screen反应导航硬件后退按钮从每个屏幕退出应用程序
【发布时间】:2018-06-10 08:28:46
【问题描述】:

我的应用目前从根目录设置如下:-

-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 在我的实现中似乎没有太大关系?

【问题讨论】:

    标签: react-native react-native-android react-navigation mobx-react


    【解决方案1】:

    如果不检查您的代码,几乎不可能在这里衡量一个可敬的正确答案。

    不过,这可能是由于您的 android react-native 堆栈,或者更有可能是您的路线是如何堆叠的。

    我的建议是使用 react-native-router-flux 包来管理这个:

    https://www.npmjs.com/package/react-native-router-flux

    这已经内置了 Mobx,如果不完全熟悉 Mobx 无状态构造,您也可以通过 Actions() 传递数据。

    【讨论】:

      【解决方案2】:

      您的后台处理程序中可能缺少return true

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-02-08
        • 1970-01-01
        • 2020-06-27
        • 2018-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多