Saya menghadapi masalah yang aneh. Dalam aplikasi react native saya, jika saya mengatur onPress
event ke View
itu tidak dipicu tetapi jika saya mengatur hal yang sama ke Text
dalam View
, itu akan aktif. Apa yang kulewatkan di sini?
<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>
Mengapa demikian? Apakah ini masalah dengan React Native? Saya menggunakan versi 0.43
react-native
react-native-android
mehulmpt
sumber
sumber
Anda dapat membungkus tampilan dengan
TouchableWithoutFeedback
dan kemudian menggunakanonPress
dan teman-teman seperti biasa. Anda juga masih dapat memblokirpointerEvents
dengan menyetel atribut pada tampilan anak, bahkan memblokir peristiwa penunjuk pada indukTouchableWithoutFeedback
, yang menarik, ini adalah kebutuhan saya di Android, saya tidak menguji di iOS:https://facebook.github.io/react-native/docs/touchablewithoutfeedback.html
sumber
pointerEventsNone
blok anak menekan pada orang tua yang membungkus?Anda dapat menggunakan TouchableOpacity, TouchableHighlight, TouchableNativeFeedback, untuk mencapai ini. Komponen tampilan tidak menyediakan onPress sebagai alat peraga. Jadi Anda menggunakan ini, bukan itu.
sumber
Atau Anda juga dapat menyediakan onStartShouldSetResponder ke tampilan Anda, seperti:
sumber