React Native中Gesture Handler的onBegan不触发怎么办?

小兴敏 阅读 3

我用react-native-gesture-handler写了一个拖拽组件,但onBegan回调一直没执行,只有onStart能触发,是不是API改了?

我查了文档,也试过把onBegan换成onStart,但逻辑对不上。这是我的手势配置:

const dragGesture = Gesture.Pan()
  .onBegan((e) => {
    console.log('began!'); // 这行从没打印过
  })
  .onStart((e) => {
    console.log('start!'); // 这个能正常触发
  });
我来解答 赞 1 收藏
二维码
手机扫码查看
1 条解答
Tr° 怡博
不是API改了,Pan手势压根没有onBegan回调,只有onStart。你应该是把手势类型搞混了,onBeganTapLongPress那些手势才有的。

Pan的onStart就是在识别出拖拽时触发,你直接用onStart就完事了,逻辑完全对得上。
点赞
2026-03-12 10:00