我正在使用react-navigation进行路由。我想在一个组件上动态隐藏或显示标题。有办法吗?
我像这样动态更改headerLeft,但无法找到任何方法为整个标题执行此操作。
static navigationOptions = ({ navigation }) => ({
headerRight: navigation.state.params ? navigation.state.params.headerRight : null
});
this.props.navigation.setParams({
headerRight: (
<View>
<TouchableOpacity onPress={() => blaa} >
<Text>Start</Text>
</TouchableOpacity>
</View>
)
});
我想要这样的东西 - 根据状态隐藏/显示标题:
this.props.navigation.setParams({
header: this.state.header
});
答案 0 :(得分:13)
搞定了:
不知道为什么会这样,但将undefined
传递到标头会显示默认标头,而null
会隐藏标头。
我正在做这样的事情:
static navigationOptions = ({ navigation }) => ({
header: navigation.state.params ? navigation.state.params.header : undefined
});
和状态变化;
this.props.navigation.setParams({
header: null
});
答案 1 :(得分:0)
根据docs,将header
设置为null会隐藏标题。像这样去做吧
this.props.navigation.setParams({
header: this.state.header ? whatever-you-want : null
})