如何在某些路由上设置headerMode而不在其他路由上设置。 (反应导航)

时间:2017-05-02 04:06:43

标签: react-native react-navigation

使用React Navigation是否可以使用headerMode定义某些路由,而将其他路由定义为?

我的大多数网页都没有使用标题,我找到了如何全局关闭它。

export const App = StackNavigator({
  PhotoView: {
    screen: Photos
  },
  ListView: {
    screen: List
  }
}, {
  headerMode: 'none'
});

但是,如果我想在ListView上显示标题,我该怎么做?

我已尝试过几种来自文档的方法,但没有运气。

2 个答案:

答案 0 :(得分:8)

您可以将您的应用导航器包装在根导航器中,将navigationOptions.header设置为null以隐藏所有包装的导航器标题,然后在屏幕上设置要显示标题的navigationOptions.headerTitle。< / p>

此答案基于react-navigation version v1.0.0-beta.9

const App = StackNavigator({
  PhotoView: {
    screen: Photos,
  },
  ListView: {
    screen: List,
    navigationOptions: {
      headerTitle: 'ListView',
    },
  }
});

export const Root = StackNavigator({
  Root: { 
    screen: App,
    navigationOptions: {
      header: null,
    },
  },
});

答案 1 :(得分:7)

您可以使用以下命令隐藏屏幕属性组件中的导航器标题:

INNER JOIN