我在react导航中使用选项卡导航器。我想在更改选项卡时检测当前焦点选项卡
如有任何帮助,我们将不胜感激!
我正在使用:-react native:0.57.4,react navigation:2.16.0
我找到了答案。
class MyScreen extends Component {
static navigationOptions = () => {
return {
tabBarOnPress({ navigation, defaultHandler }) {
navigation.state.params.onTabFocus('tab_name');
defaultHandler();
}
};
};
componentDidMount() {
this.props.navigation.setParams({
onTabFocus: this.getCurrentTab
});
}
getCurrentTab = (tabName) => {
console.log("current tab >>>>>>", tabName);
};
}
///////////第二个解决方案/////////\///
可以使用NavigationEvents组件订阅这些导航事件。
- onWillFocus:聚焦选项卡之前
- onDidFocus:聚焦选项卡之后
- onWillBlur:在失去对选项卡的关注之前
- onDidBlur:在失去对选项卡的关注之后