react-native - 如何在 react-native 中的 Tab Bottom 图标中检测多点触摸
问题描述
我有一个带屏幕的底部标签。我希望当用户按下第一个选项卡屏幕时滚动到顶部(尝试 useScrollToTop btw 但它不起作用,因为我的屏幕内有另一个顶部选项卡导航)。因此,我找到了一种解决方案,可以在按下时在选项卡内创建一个事件侦听器
此实现的问题在于,它仅检测一次触摸,例如当我从一个选项卡切换到另一个选项卡时,它会被激活,但是当我在同一个屏幕上并按下选项卡时,它什么也不做
<Tab.Screen
name="Home"
component={HomeNavigation}
listeners={({navigation, route}) => ({
tabPress: () => {
console.log('tab pressed');
const isAtFirstScreenOfStack = !route.state || route.state?.index === 0;
if (navigation.isFocused() && isAtFirstScreenOfStack) {
// here, fire off an event and listen to that in your relevant component
EventRegister.emit('myCustomEvent', 'it works!!!')
}
},
})}
解决方案
推荐阅读
- r - R 分组为循环 seq_along 长度 - 1?
- twilio - 如何以编程方式在自定义聊天频道上停止 Twilio Autopilot 对话?
- python - 如何用最小的modbus读取数字计数器的寄存器
- c# - 使用字符串从子类列表中选择默认构造函数
- arrays - 指向字符数组的指针并传递给二维字符数组函数参数
- struct - 初始化 Rust 结构的问题
- ios - 布局指南与自动布局约束有冲突
- vue.js - 使用 vuejs 从模型中绑定超链接路径的正确方法是什么
- react-native - 如何在 react native expo 应用程序中禁用 firebase reCAPTCHA?
- discord.js - 嵌入的角色声明消息