在多层组件的情况下如何纠正事件传播

时间:2018-09-18 12:06:04

标签: react-native

我使用绝对定位将2个View组件彼此渲染。这两个视图都有使用TouchableOpacity绑定的onPress事件。现在,当我按顶视图时,实际上会触发视图onPress事件,并且顶视图保持原样。有人可以帮我在这里做错什么吗?

顶层代码

<TouchableOpacity style={cell} onPress={this.handleMessangerPress}>
     <Image style={[filterImage, {marginLeft: 20}]} source={{ uri: imagePath + 'messanger.png' }} />
</TouchableOpacity> 

底层代码

<TouchableOpacity style={styles.subTotal} onPress={this.handleSubTotalPress}>
    <View>
       <Text style={styles.text}>{'Subtotal Rs.' + total}</Text>
    </View>
</TouchableOpacity>

在上述情况下,将调用handleSubTotalPress代替handleMessangerPress

1 个答案:

答案 0 :(得分:0)

使用这种方式

<TouchableOpacity style={styles.subTotal} onPress={()=> this.handleSubTotalPress() }>

<TouchableOpacity style={styles.subTotal} onPress={this.handleSubTotalPress.bind(this) }>