React Navigation Material 顶部选项卡导航器滑动事件或回调方法?

问题描述 投票:0回答:2

嗨,我正在使用 React Navigation 及其 Material Top Tabs Navigator 组件 一切工作正常,除了当我启用滑动选项时,我无法获得回调方法来执行更多逻辑。 借助 Material Top Tabs Navigator,用户可以通过 TabPress 或滑动聚焦屏幕导航到不同的屏幕。 我需要通过捕获该行为来执行更多逻辑(例如,每当屏幕更改时更改背景颜色)

使用 tabPress 事件(从其官方文档列出),很容易实现,但我找不到任何与滑动操作相关的事件。我还尝试添加监听器,滑动时不记录日志。

componentDidMount() {
  this._test= navigation.addListener("focus", () => {
    console.log("swiped");
  });
}

有什么想法吗?谢啦

react-native react-navigation
2个回答
0
投票

尝试使用 导航状态 检测当前处于活动状态的选项卡。


0
投票

只需在实例化选项卡的 NavigationContainer 上添加一个 onStateChange 侦听器即可。回电时的状态返回包含您需要的所有信息。

它适用于滑动和按 Tab 键。

© www.soinside.com 2019 - 2024. All rights reserved.