在 React Native 上传递触摸事件

gtR*_*nkN 5 overlay touch touch-event react-native

我们构建了一个 React Native 平板电脑亭应用程序,它向前台的用户显示多页输入字段。用户必须填写所有表格并在最后发送它们。

用户可以随时离开信息亭,这将导致他们的最后一个屏幕成为下一个用户的“欢迎屏幕”。为避免这种情况,如果没有用户交互(屏幕上的任何触摸事件),应用程序会在一段时间后重置。

现在,我们使用倒计时并在每个输入字段、按钮和背景触摸上重置它。这导致将重置回调传递给许多组件。它有效,但它只是很多冗余,很容易导致错误。

有没有什么办法,我们可以在view的最上面加一个overlay,可以捕获所有的touch事件并调用reset回调,同时也可以将touch事件传递给下面的views?因此,当用户单击按钮时,覆盖层会调用其回调,但也会单击按钮(输入字段等也是如此)。

我们还尝试了手势响应系统,但无法让触摸事件通过——它总是被带有手势响应系统的组件所消耗。

ant*_*129 9

您可以尝试向pointerEvents您的View.

  • 非常感谢您的提示。我不得不将 `pointerEvents` 设置为 `box-none`。之后,`onTouchStart` 回调被调用,点击也由视图的子级处理。 (4认同)