好的,这是一个简单的场景。说我有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
。