gpt4 book ai didi

javascript - React Native - 每秒多次触摸的 onTouchStart 与 PanResponder

转载 作者:可可西里 更新时间:2023-11-01 02:40:51 29 4
gpt4 key购买 nike

我正在使用 React Native 开发一个应用程序,它必须尽快响应点击手势,因为一秒钟内可以触发多个点击事件。不需要双击或移动手势,但需要注意同时点击。我一直在测试 onTouchStartPanResponder | onPanResponderGrant 并看到:

  • onTouchStart 在同时点击两次时触发两次,而 onPanResponderGrant 仅调用一次。
  • onPanResponderMove 即使当我将 onMoveShouldSetPanResponder 设置为 false 时也会被触发,并且当两个水龙头同时出现时,它会被触发很多次,或者当有一秒钟点击几下。
  • 当一秒钟内完成几次点击时,onTouchStart 工作正常,但 onPanResponderGrant 被触发的次数较少。

基于以上原因,我认为我最好使用onTouchStart

现在的问题是:即使在 React Native docs 时,我是否应该使用 onTouchStart建议将 PanResponder 用于多点触控手势?

PanResponder reconciles several touches into a single gesture. It makes single-touch gestures resilient to extra touches, and can be used to recognize simple multi-touch gestures.

或者我是否缺少 PanResponder 的某些内容?

编辑:

此外,gestureState.numberActiveTouches 始终为 1,同时发生两次点击事件。我认为这可以解决问题。

最佳答案

从PanResponder的定义,我了解到它是用来解释一个多点触控手势并渲染1个 Action 。就像我用 2 根手指轻敲图像一样,我可以将图像复制到剪贴板。

虽然您似乎想要不同的行为:我用 2 根手指敲击 1 个鼓钹,但您想要获得 2 种声音。就好像您将鼓铙钹分成无数个按钮,无论您做什么,每次敲击,您都会得到一个单独的声音。

然后您不想使用 PanResponder,因为它会尝试将一堆 Action 解释为单一声音,而您希望每个 Action 都生成单独的声音。而 onTouchStart 只是完成了工作。所以您可能正在用它做正确的事情!

关于javascript - React Native - 每秒多次触摸的 onTouchStart 与 PanResponder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45489838/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com