如何在React-Native中将新闻事件从内部Touchable冒泡到外部Touchable?

时间:2019-01-25 09:16:54

标签: javascript react-native

我有2个嵌套的Touchable,我想捕获外部onPress和内部Touchable中的Touchable事件,但仅捕获内部onPress会触发<TouchableOpacity onPress={() => alert('outer')} style={{ backgroundColor: 'red', width: 200, height: 200 }}> <TouchableOpacity onPress={() => alert('inner')} style={{ backgroundColor: 'green', width: 100, height: 100 }} /> </TouchableOpacity> 事件,因此可以说该事件未传播到父元素

我正在使用React-Native 0.57

这是我的小吃example

我还在这里重新发布了渲染代码:

Touchable

仅显示内部警报或外部警报的方式。
相反,我想显示外部警报和内部警报,方法是按绿色的View ...

代码是简化版本,在实际情况下,内部Touchable是可以在各种情况下使用的组件,可以在$ cat john_ward.txt 1 4 2 5 3 6 $ awk ' {$(NF+1)=s+=$NF}1 ' john_ward.txt 1 4 4 2 5 9 3 6 15 $ 内部使用,也可以在非Touchable组件中使用

2 个答案:

答案 0 :(得分:0)

如果要在触发另一个TouchableOpacity的{​​{1}}处理程序时调用它,只需从被触发的另一个onPress处理程序中调用它即可。

onPress

如果最里面的<TouchableOpacity onPress={myHandler} style={{ backgroundColor: 'red', width: 200, height: 200 }}> <TouchableOpacity onPress={myOtherHandler} style={{ backgroundColor: 'green', width: 100, height: 100 }} /> </TouchableOpacity> 的{​​{1}}调用了myOtherHandler,则您像这样调用TouchableOpacity

onPress

答案 1 :(得分:0)

您可以根据传递的属性,使用ViewTouchableOpacity有条件地渲染可重用组件。

如果您始终希望外部组件触发此操作,则可能会成功