Ich stehe vor einem seltsamen Problem. Wenn ich in meiner reaktiven nativen App ein onPress
Ereignis auf " View
Es" gesetzt habe , wird es nicht ausgelöst, aber wenn ich dasselbe auf " Text
Innen" setze , wird es ausgelöst View
. Was fehlt mir hier?
<View style={{backgroundColor: "red", padding: 20}}>
<Text onPress={()=> {
console.log('works');
}
}>X</Text>
</View>
<View style={{backgroundColor: "red", padding: 20}} onPress={()=> {
console.log('does not work');
}
}>
<Text>X</Text>
</View>
Warum ist das so? Ist dies ein Problem mit React Native? Ich benutze Version 0.43
react-native
react-native-android
mehulmpt
quelle
quelle
Sie können die Ansicht mit einem umschließen
TouchableWithoutFeedback
und dannonPress
und Freunde wie gewohnt verwenden. Sie können auch weiterhin blockieren,pointerEvents
indem Sie das Attribut in der untergeordneten Ansicht aktivieren. Es blockiert sogar Zeigerereignisse auf der übergeordneten Ansicht. Es istTouchableWithoutFeedback
interessant. Dies war meine Notwendigkeit für Android. Ich habe es nicht für iOS getestet:https://facebook.github.io/react-native/docs/touchablewithoutfeedback.html
quelle
pointerEventsNone
auf dem Kind befindliche Block auf das umbrechende Elternteil gedrückt?Sie können TouchableOpacity, TouchableHighlight, TouchableNativeFeedback verwenden, um dies zu erreichen. Die Ansichtskomponente bietet onPress nicht als Requisiten. Also verwenden Sie diese stattdessen.
quelle
Alternativ können Sie Ihrer Ansicht auch onStartShouldSetResponder bereitstellen, wie folgt:
quelle