บนอุปกรณ์ การโต้ตอบกับ UI ส่วนใหญ่เกิดขึ้นผ่านการแตะหรือแตะ ดังนั้นเมื่อเราใช้แอปนี้ เรามักจะแตะปุ่มเพื่อดำเนินการบางอย่าง หรือเลื่อนหน้าโดยการสัมผัสหน้าจอ พยายามซูมหน้า ฯลฯ ในการจัดการท่าทางสัมผัสเหล่านี้ เช่น การแตะ การโต้ตอบแบบสัมผัสมีเหตุการณ์ที่แคปจับหรือ องค์ประกอบที่สัมผัสได้เพื่อจัดการกับการสัมผัส
เรามาดูตัวอย่างสิ่งที่เกิดขึ้นเมื่อมีการคลิกปุ่ม
ตัวอย่างที่ 1:การจัดการการแตะที่ปุ่ม
นี่คือตัวอย่างง่ายๆ ของปุ่ม
<Button
onPress={() => {
alert('You Tapped on Me!');
}}
title="Tap Me"
/> เหตุการณ์ onPress จะถูกเรียกเมื่อผู้ใช้แตะที่ปุ่ม นี่คือตัวอย่างการใช้งาน
import React from 'react';
import { Button, View, Alert } from 'react-native';
const App = () => {
return (
<View style={{flex :1, justifyContent: 'center', margin: 15 }}>
<Button
onPress={() => {
alert('You Tapped on Me!');
}}
title="Tap Me"
/>
</View>
);
}
export default App; ผลลัพธ์

ส่วนประกอบที่สัมผัสได้
React native touchable component ช่วยในการจับท่าทางการแตะในกรณีที่มีปัญหาใด ๆ กับเหตุการณ์เช่น onPress() ซึ่งใช้กับส่วนประกอบดั้งเดิมที่ตอบสนองเช่นปุ่ม
ส่วนประกอบที่สัมผัสได้นั้นมาพร้อมกับตัวเลือกต่อไปนี้เพื่อจัดการกับท่าทางการแตะบนส่วนประกอบดั้งเดิมที่ตอบสนอง
- ความทึบที่สัมผัสได้
- ไฮไลท์ที่สัมผัสได้
- สัมผัสได้โดยไม่มีคำติชม
ความทึบที่สัมผัสได้
องค์ประกอบนี้จะเปลี่ยนความทึบขององค์ประกอบเมื่อสัมผัส
คุณสามารถใช้ TouchableOpacity ได้ดังนี้ -
<TouchableOpacity onPress={() => alert('You Tapped Me')}>
<Text style = {styles.text}>
Button
</Text>
</TouchableOpacity> นี่คือตัวอย่างการทำงาน -
import React from 'react'
import { TouchableOpacity, StyleSheet, View, Text } from 'react-native'
const App = () => {
return (
<View style = {styles.container}>
<TouchableOpacity onPress={() => alert('You Tapped Me')}>
<Text style = {styles.text}>
Button
</Text>
</TouchableOpacity>
</View>
)
}
export default App
const styles = StyleSheet.create ({
container: {
alignItems: 'center',
},
text: {
borderWidth: 1,
padding: 25,
borderColor: 'black',
backgroundColor: 'red'
}
}); คุณจะเห็นความทึบเมื่อผู้ใช้แตะปุ่ม -

ไฮไลท์ที่สัมผัสได้
เมื่อผู้ใช้กดองค์ประกอบ องค์ประกอบจะเข้มขึ้นและสีพื้นฐานจะแสดงผ่าน
คุณต้องนำเข้า TouchableHighlight ก่อนใช้งานดังที่แสดงด้านล่าง -
import { TouchableHighlight } from 'react-native' ส่วนประกอบปุ่มถูกรวมไว้ในองค์ประกอบข้อความ และข้อความอยู่ภายในองค์ประกอบ TouchableHighlight คุณสามารถเพิ่มสไตล์ให้กับส่วนประกอบได้ตามความต้องการของคุณ เพิ่มฟังก์ชั่น onPress บน TouchableHighlight และเมื่อแตะข้อความแจ้งเตือนจะปรากฏขึ้น
<TouchableHighlight onPress={() => alert('You Tapped Me')} activeOpacity={0.6}>
<Text style = {styles.text}>
Button
</Text>
</TouchableHighlight> ตัวอย่างการทำงานทั้งหมดมีดังนี้ −
import React from 'react'
import { View, TouchableHighlight, Text, StyleSheet } from 'react-native'
const App = (props) => {
return (
<View style = {styles.container}>
<TouchableHighlight onPress={() => alert('You Tapped Me')} activeOpacity={0.6}>
<Text style = {styles.text}>
Button
</Text>
</TouchableHighlight>
</View>
)
}
export default App
const styles = StyleSheet.create ({
container: {
padding:100,
alignItems: 'center',
},
text: {
borderWidth: 1,
padding: 25,
borderColor: 'black',
backgroundColor: 'gray'
}
}) ผลลัพธ์

สัมผัสได้โดยไม่มีคำติชม
ควรใช้เมื่อคุณต้องการจัดการกับเหตุการณ์การสัมผัสและไม่ต้องการความคิดเห็นใดๆ
ที่นี่ปุ่มถูกห่อภายในองค์ประกอบ TouchableWithoutFeedback ดังที่แสดงด้านล่าง -
<TouchableWithoutFeedback onPress={() => alert('You Tapped Me')}>
<Text style = {styles.text}>
Button
</Text>
</TouchableWithoutFeedback> ตัวอย่าง:การทำงานกับองค์ประกอบ TouchableWithoutFeedback
import React from 'react'
import { View, TouchableWithoutFeedback, Text, StyleSheet } from 'react-native'
const Home = (props) => {
return (
<View style = {styles.container}>
<TouchableWithoutFeedback onPress={() => alert('You Tapped Me')}>
<Text style = {styles.text}>
Button
</Text>
</TouchableWithoutFeedback>
</View>
)
}
export default Home
const styles = StyleSheet.create ({
container: {
padding:100,
alignItems: 'center',
},
text: {
borderWidth: 1,
padding: 25,
borderColor: 'black',
backgroundColor: 'gray'
}
}) ผลลัพธ์
