如何在 React-Native 中停止触摸事件传播

新手上路,请多包涵

当我长按图像时,我有一个带有图像网格的滚动视图,我想停止将鼠标事件传播到滚动视图并仅监视移动。意图在按下时重新初始化传播。有谁知道怎么做?

原文由 aintnorest 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

你应该看看手势响应器的方法: https ://facebook.github.io/react-native/docs/gesture-responder-system.html#responder-lifecycle。实际上,更简单的方法是查看 PanResponder https://facebook.github.io/react-native/docs/panresponder.html - 首先查看 UIExplorer 示例以查看它的运行情况: https://github。 com/facebook/react-native/blob/master/Examples/UIExplorer/ResponderExample.js 。我不确定这是否能处理你的长按案例?

原文由 Jarek Potiuk 发布,翻译遵循 CC BY-SA 3.0 许可协议

这可能是自之前的答案以来的新内容,但我发现您可以使用另一个“可触摸”来吞噬事件:

 <TouchableOpacity onPress={this.onPressOuter}>
    <TouchableOpacity activeOpacity={1}>
        <Text>Content</Text>
    </TouchableOpacity>
</TouchableOpacity>

在这个例子中,触摸文本不会触发 onPressOuter

原文由 pstanton 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题