我试图在某些页面中隐藏底部的标签栏,但没有成功。
我的路由器设置如下:
tabBarComponent:CustomTabs
我尝试了2种方法:
static navigationOptions = {
tabBarVisible: false
};
or
//Edit, forgot to add this
static navigationOptions = ({navigation}) => ({
tabBarVisible: false
})
第二页
componentDidMount(){
this.props.navigation.setParams({visible: false});
}
CustomTabs
static getDerivedStateFromProps(props, state={}){
console.log(props.navigation.getParam('visible', 0));
}
or using componentWillReceiveProps()
想法是尝试获取一个事件以查看是否加载了此第二页,并将设置为在该CustomTab中不可见。
我没有从getParam得到任何东西,我假设这是因为此页面位于stackNav内并且无法传递给tabNav。但是,当第二页完成加载并调用componentDidMount时,CustomTabs页面中的getDerivedStateProps确实会向其发出事件。
答案 0 :(得分:0)
尝试使用
static navigationOptions = ({navigation}) => ({
tabBarVisible: false
})
代替
static navigationOptions = {
tabBarVisible: false
};
在某些情况下对我有帮助