Home Tutorial React Native React Native – Bài 13: Buttons

React Native – Bài 13: Buttons

6 min read
0
130

Trong chương này, chúng tôi sẽ giới thiệu cho bạn các thành phần có thể chạm được trongReact Native. Chúng ta gọi chúng là ‘touchable’ (có thể chạm được)  vì chúng cung cấp hoạt ảnh được tích hợp sẵn và chúng tôi có thể sử dụng phương thức onPress để xử lý sự kiện chạm.

Facebook cung cấp thành phần Button, có thể được sử dụng làm nút chung. Hãy xem xét ví dụ sau để hiểu tương tự.

App.js

import React, { Component } from 'react'
import { Button } from 'react-native'

const App = () => {
   const handlePress = () => false
   return (
      <Button
         onPress = {handlePress}
         title = "Red button!"
         color = "red"
      />
   )
}
export default App

Nếu thành phần Button mặc định không phù hợp với nhu cầu của bạn, bạn có thể sử dụng một trong các thành phần sau để thay thế.

Các nút Nút màu đỏ

Touchable Opacity (Độ mờ có thể chạm)

Phần tử này sẽ thay đổi độ mờ của phần tử khi được chạm vào.

App.js

import React from 'react'
import { TouchableOpacity, StyleSheet, View, Text } from 'react-native'

const App = () => {
   return (
      <View style = {styles.container}>
         <TouchableOpacity>
            <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'
   }
})

Nút Touchopacity

Touchable Highlight(Điểm nổi bật có thể chạm)

Khi người dùng nhấn vào phần tử, phần tử đó sẽ tối hơn và màu cơ bản sẽ hiển thị xuyên suốt.

App.js

import React from 'react'
import { View, TouchableHighlight, Text, StyleSheet } from 'react-native'

const App = (props) => {
   return (
      <View style = {styles.container}>
         <TouchableHighlight>
            <Text style = {styles.text}>
               Button
            </Text>
         </TouchableHighlight>
      </View>
   )
}
export default App

const styles = StyleSheet.create ({
   container: {
      alignItems: 'center',
   },
   text: {
      borderWidth: 1,
      padding: 25,
      borderColor: 'black',
      backgroundColor: 'red'
   }
})

Touchable Native Feedback (Phản hồi gốc có thể chạm)

Thao tác này sẽ mô phỏng hoạt hình viết tay khi phần tử được nhấn.

App.js

import React from 'react'
import { View, TouchableNativeFeedback, Text, StyleSheet } from 'react-native'

const Home = (props) => {
   return (
      <View style = {styles.container}>
         <TouchableNativeFeedback>
            <Text style = {styles.text}>
               Button
            </Text>
         </TouchableNativeFeedback>
      </View>
   )
}
export default Home

const styles = StyleSheet.create ({
   container: {
      alignItems: 'center',
   },
   text: {
      borderWidth: 1,
      padding: 25,
      borderColor: 'black',
      backgroundColor: 'red'
   }
})

Touchable Without Feedback (Có thể chạm mà không cần phản hồi)

Nên sử dụng thành phần này khi bạn muốn xử lý sự kiện chạm mà không có bất kỳ hoạt ảnh nào Thông thường, thành phần này không được sử dụng nhiều.

<TouchableWithoutFeedback>
   <Text>
      Button
   </Text>
</TouchableWithoutFeedback>
Load More Related Articles
Load More By quangvu
Load More In React Native

Check Also

Tự làm web chatGPT đơn giản cho phép dùng nhiều OpenAI key

Trong thời đại công nghệ phát triển như hiện nay, chatbot đang dần trở thành một giải pháp…