我已经实现了一个StackNavigator,我在其中删除了用于样式目的的标题。
现在我在StackNavigator中有一个Component,我想把它拿回来。你怎么认为我这样做?
这是我的StackNavigator:
const Nav = StackNavigator(
{
SplashScreen: {screen: SplashScreen},
Login: {screen: Login},
Register: {screen: Register},
Main: {screen: MainNav},
},
{
headerMode: 'none',
});
但是对于Register屏幕,我想有一个标题(让用户知道他可以回去)。
我试过这样做:
static navigationOptions = {
title: 'Register',
header: {
}
}
但我不太清楚要在标题部分放什么。
答案 0 :(得分:1)
我个人做了什么:我把标题的高度设置为0,当我不想要它显示时,并将n设置为显示它所以我可以像
height: condition ? 0 : 10
否则有人回答here
您可以使用以下代码以编程方式执行此操作:
static navigationOptions = ({ navigation }) => ({ header:
> (navigation.state.params.thanks) => <HeaderView
> content={navigation.state.params.thanks} /> : null, })
然后你 可以设置状态参数:
componentWillMount() { this.props.navigation.setParams({ thanks:"Something" }); }
虽然我自己没有尝试过代码,但事实并非如此 确定公共API是否可以访问HeaderView之类的内容 在react-navigation中,如果有内容属性。但是我 以抽象的方式思考,这就是你以编程方式设置的方式。
我也没有尝试过,但可能会有效
编辑:github中给出的答案肯定更好,您可以从react-navigation导入HeaderView并执行header: condition ? HeaderView : null
来显示和隐藏它