2017-07-15 40 views
0

我试图强制在StackNavigator中的路由头成为可见/只有当组件(作为此路由的屏幕分配)已收到componentWillReceiveProps中的道具时才显示/显示/渲染(因为在此时出现ListView,即屏幕完全由其组成的那一刻)。我怎么能这样做?更改组件的屏幕选项WowReceiveProps

回答

1

您可以拨打this.props.navigation.setParams更新navigation.state.params,并用它在你的navigationOptions功能。看来这是唯一的方法。

+0

这里的问题是,使标题不可见的属性是navigationConfig的一部分,而不是navigationOptions,它也是navigationConfig的一部分。根据官方文件,headerVisible属性并不存在,无论我在哪里,它都不起作用。 – Eduard

+1

您是否在navigationConfig中配置了'headerMode:'none''?这是禁用的标题。我认为你可以使用'navigationOptions:{header:{visible:false}}'进行配置,然后在屏幕组件中启用。我刚刚在https://snack.expo.io/rJ0UWOdSW创建了一个演示。屏幕的标题不显示,当你点击按钮时,它会显示。 –

+0

伟大的解决方案!但它似乎不适合我的情况,因为我需要从componenWillReceiveProps中调用onPress函数,并且它不以这种方式工作。组件只是无限地加载。 – Eduard