如何为不同的屏幕设置不同的导航模式?

时间:2019-05-31 15:30:36

标签: reactjs react-native react-navigation

我对本机反应非常陌生,但是我将尽我所能来表达这一点。我有一个本机应用程序,其底部有一个导航栏。如果用户点击其中一个选项,则会导航到相应的屏幕。

每个屏幕的模式是默认的“卡片”。这样一来,屏幕就可以像一副纸牌一样从右侧滑入。

const RootStack = createStackNavigator(
  {
    Main: {
      screen: MainStack,
    },
    MyModal: {
      screen: ModalScreen,
    },
  },
  {
    mode: 'card',
    headerMode: 'none',
  }
);

问题是,我有一个“更多”屏幕,我想要改变行为。它需要从屏幕底部向上滑动。据我了解,“模式”模式可以做到这一点。

mode:'modal',

所以我的问题是,我可以将所有屏幕设置为模式:“卡”,而仅将一个屏幕模式设置为:“模式”吗?有人知道我是否以及如何做吗?

1 个答案:

答案 0 :(得分:0)

要直接回答您的问题,React-Navigation文档说mode只能在导航器级别设置,而不能在单个屏幕上设置:The mode configuration for stack navigator can be either card (default) or modal.

但是,它们确实为实现模态提供了指导:

React-Navigation文档说使用mode: 'modal'创建一个根导航器,并将您现有的导航器嵌套在其中。在应用程序中导航时,您只需指定屏幕ID,它将自动确定合适的导航器。

了解更多: https://reactnavigation.org/docs/en/modal.html