我有一些onPress
包裹在TouchableOpacity
中的文本。
<TouchableOpacity onPress={doNavigateToComment}>
<View>
<Text>
<Text onPress={doNavigateToUser}>
@{user.username}
</Text>{" "}
liked your comment.
</Text>
</View>
... more stuff ...
</TouchableOpacity>
在该文本上的任意位置点击都会触发doNavigateToComment
。当用户点击用户名时,它应该调用doNavigateToUser
是否可以赋予基础Text
onPress
优先级?似乎只能识别外部可触摸包装。
答案 0 :(得分:1)
我对您的代码进行了一些修改,但是我得到的正是您想要的行为。
doNavigateToComment() {
console.log('doNavigateComment');
}
doNavigateToUser() {
console.log('doNavigateToUser');
}
<View style={styles.container}>
<TouchableOpacity
onPress={() => this.doNavigateToComment()}>
<View style={{ backgroundColor: 'red', height: 40, justifyContent: 'center', alignItems: 'center' }} >
<Text>
<Text
style={{ backgroundColor: 'blue' }}
onPress={() => this.doNavigateToUser()}>
Username
</Text>{' '}
liked your comment.
</Text>
</View>
</TouchableOpacity>
</View>
按用户名(蓝色区域)将打印doNavigateToUser
,按红色区域将打印doNavigateComment
。
您可能只需要调整样式即可。
屏幕截图:
工作博览会:
答案 1 :(得分:0)
我知道了。我是从TouchableOpacity
而不是react-native-gesture-handler
导入react-native
的。修复导入后,水龙头便开始正常工作。