react-native - 仅为特定屏幕启用标题
问题描述
好的,这是一个简单的场景。假设我StackNavigator
有 100 个屏幕。其中 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
with header : null
,并且所有 98 个屏幕都将扩展HeaderLessComponent
.