嗨,我正在使用 React Navigation 及其 Material Top Tabs Navigator 组件 一切工作正常,除了当我启用滑动选项时,我无法获得回调方法来执行更多逻辑。 借助 Material Top Tabs Navigator,用户可以通过 TabPress 或滑动聚焦屏幕导航到不同的屏幕。 我需要通过捕获该行为来执行更多逻辑(例如,每当屏幕更改时更改背景颜色)
使用 tabPress 事件(从其官方文档列出),很容易实现,但我找不到任何与滑动操作相关的事件。我还尝试添加监听器,滑动时不记录日志。
componentDidMount() {
this._test= navigation.addListener("focus", () => {
console.log("swiped");
});
}
有什么想法吗?谢啦
尝试使用 导航状态 检测当前处于活动状态的选项卡。
只需在实例化选项卡的 NavigationContainer 上添加一个 onStateChange 侦听器即可。回电时的状态返回包含您需要的所有信息。
它适用于滑动和按 Tab 键。