仅为特定屏幕启用标头

时间:2018-06-14 04:13:07

标签: react-native react-navigation

好的,这是一个简单的场景。说我有100个屏幕StackNavigator。其中2个需要标题,其中98个不需要标题。因此,为98屏幕编写相同的标题配置对我来说听起来不是一个好方法,我所做的是通过在全局配置中设置header : null来禁用标题

const RootStack = createStackNavigator({

    ScreenOne: ScreenOne,
    ScreenTwo: ScreenTwo,
    ... : ... ,
    ScreenHundred : ScreenHundred
}, {
    initialRouteName: 'ScreenOne',
        navigationOptions: {
        header: null
    },
});

并尝试在屏幕类中启用header

class ScreenOne extends React.Component {
  static navigationOptions = {
    title: 'ScreenOne',
  };

  /* render function, etc */
}

但这不起作用。我该如何解决这个问题? 是否有任何内置模式,如方法,我说enable header for 2 screens only, and disable it for remaining screens

编辑:

一种解决方案是创建一个新的类class HeaderLessComponent extends Component,它将使用navigationProps覆盖header : null,所有98个屏幕都将扩展HeaderLessComponent

0 个答案:

没有答案