StackNavigator中的不同标题

时间:2017-07-25 15:20:32

标签: android react-native react-navigation

我已经实现了一个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: {

    }
}

但我不太清楚要在标题部分放什么。

1 个答案:

答案 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来显示和隐藏它