我正在React Native中开发一个热图组件,该组件本质上是一个<View>
,可以响应用户提供的pointerEvents
。从children
中提取this.props
,并将其传递到视图中。
<View
style={s.overlay}
onLayout={this._onLayout}
onMagicTap={this._onDoubleTwoFingerTouch}
onAccessibilityTap={this._onDoubleTouchAccessible}
onStartShouldSetResponder={this._onTouchStart}
onResponderMove={this._onTouchMove}
onResponderReject={this._onTouchCancel}
onResponderTerminate={this._onTouchCancel}
onResponderRelease={this._onTouchEnd}
pointerEvents={'auto'}
>
{children}
</View>
只要视图下没有可触摸组件(例如<TouchableOpacity>
组件),该视图就会接收所有触摸事件。显然,子组件会响应pointerEvents
。
我已经知道auto
,box-none
等pointerEvents
枚举的工作方式,但是我没有找到正确的组合或技巧来将这些事件从父母那里逐级传给孩子们。
我如何在用户按下时对两者的pointerEvents
父级和子级组件进行响应?