Redux状态更改时关闭特定的React Navigation模式

时间:2019-06-05 15:10:15

标签: javascript react-native redux react-navigation

这可以通过内置的React Native Modal组件轻松实现,其中visibility道具可以从Redux传递状态。

给出多个React Navigation modal screens,当Redux状态改变时,如何取消特定的模态。

React Navigation docs节目中,使用props.navigation.goBack()可以在点击按钮时关闭模态。 React Navigation API docs状态表明可以将navigation key传递到goBack()以便从特定屏幕返回。

给出2个模态屏幕,如下所示:

const RootStack = createStackNavigator(
  {
    Main: {
      screen: MainStack,
    },
    LockModal: {
      screen: LockModal,
    },
    OfflineModal: {
      screen: OfflineModal,
    },
  },
  {
    mode: 'modal',
    headerMode: 'none',
  }
);

...以及Redux isLockedisOffline中的2个布尔属性。

我假设我可以通过调用props.navigation.goBack('OfflineModal')来关闭离线模式,但是我应该在代码中的哪个地方监听对isOffline的更改并调用navigation.goBack('OfflineModal')

我要把这全部弄错吗?

0 个答案:

没有答案