Javascript 与StackNavigator'互动;s导航选项卡导航器内部视图中的导航选项

Javascript 与StackNavigator'互动;s导航选项卡导航器内部视图中的导航选项,javascript,reactjs,react-native,react-navigation,Javascript,Reactjs,React Native,React Navigation,如何使navigationOptions与TabNavigator中的视图交互 例如,通过这个问题,我可以使导航选项响应组件的状态 但如果我想让它更具响应性,响应TabNavigator内部组件的状态,该怎么办 如下图所示,我只想在选中多个复选框时启用Next按钮。 但是在我的组件中提供headerlight没有任何效果 导出类CreateGroupCamera扩展组件{ 静态导航选项=({navigation})=>{ const{state,setParams,navigate}=navi

如何使
navigationOptions
TabNavigator
中的视图交互

例如,通过这个问题,我可以使
导航选项
响应组件的
状态

但如果我想让它更具响应性,响应
TabNavigator
内部组件的
状态,该怎么办

如下图所示,我只想在选中多个复选框时启用
Next
按钮。

但是在我的组件中提供
headerlight
没有任何效果

导出类CreateGroupCamera扩展组件{
静态导航选项=({navigation})=>{
const{state,setParams,navigate}=navigation;
const params=state.params | |{};
返回{
headerTitleStyle:{alignSelf:'center'},
头灯:
}
}
}

在尝试错误3小时后,我自己找到了答案

按照这些步骤,你可以得到一个可行的版本

1.不要直接公开
TabNavigator
,而是将其包装起来。
const Tabs=TabNavigator({
...
});
导出类TabView扩展组件{
render(){
返回();
}
}
2.使用
screenProps
向下传递回调函数。调用时,
setParams()
进入
navigationOptions
导出类选项卡视图扩展组件{
静态导航选项=({navigation})=>{
const{state,setParams,navigate}=navigation;
const params=state.params | |{};
返回{
头灯=
};
}
_验证器(验证器){
this.props.navigation.setParams({validator});
}
render(){
返回();
}
}
3.在主组件内部,使用
screenProps.callback传递函数。
\u验证程序(){
返回此。selectedDevices()。长度>0;
}
render(){
返回(
{
this.props.screenProps.callback(this.\u验证器);
}} />
);
}
结果:


您好,Val,我将与您联系,您可以在消息框中看到问题。好的,我将在12小时后查看=)