Sử dụng chế độ xem danh sách trong React Native
16/10/2022 22:33
React Native cung cấp một bộ các thành phần để trình bày danh sách dữ liệu. Nói chung, bạn sẽ muốn sử dụng FlatList hoặc SectionList khi thực hiện các dự án React Native
Thành FlatList
phần hiển thị danh sách cuộn các dữ liệu thay đổi, nhưng có cấu trúc tương tự. FlatList
hoạt động tốt cho danh sách dữ liệu dài, trong đó số lượng mục có thể thay đổi theo thời gian. Không giống như các phần tử chung chung hơn ScrollView
, các FlatList
phần tử chỉ hiển thị các phần tử hiện đang hiển thị trên màn hình, không phải tất cả các phần tử cùng một lúc.
Thành FlatList
phần yêu cầu hai đạo cụ: data
và renderItem
. data
là nguồn thông tin cho danh sách. renderItem
lấy một mục từ nguồn và trả về một thành phần được định dạng để hiển thị.
Ví dụ này tạo cơ bản FlatList
về dữ liệu được mã hóa cứng. Mỗi mục trong data
đạo cụ được hiển thị như một Text
thành phần. Sau FlatListBasics
đó, thành phần hiển thị FlatList
và tất cả các Text
thành phần.
>>> Đọc thêm: Laravel Controllers - Tìm hiểu về bộ điều khiển trong Laravel
import React from 'react';
import { FlatList, StyleSheet, Text, View } from 'react-native';
const styles = StyleSheet.create({
container: {
flex: 1,
paddingTop: 22
},
item: {
padding: 10,
fontSize: 18,
height: 44,
},
});
const FlatListBasics = () => {
return (
<View style={styles.container}>
<FlatList
data={[
{key: 'Devin'},
{key: 'Dan'},
{key: 'Dominic'},
{key: 'Jackson'},
{key: 'James'},
{key: 'Joel'},
{key: 'John'},
{key: 'Jillian'},
{key: 'Jimmy'},
{key: 'Julie'},
]}
renderItem={({item}) => <Text style={styles.item}>{item.key}</Text>}
/>
</View>
);
}
export default FlatListBasics;
Nếu bạn muốn hiển thị một tập hợp dữ liệu được chia thành các phần hợp lý, có thể với tiêu đề phần, tương tự như UITableView
s trên iOS, thì SectionList là cách để thực hiện.
import React from 'react';
import { SectionList, StyleSheet, Text, View } from 'react-native';
const styles = StyleSheet.create({
container: {
flex: 1,
paddingTop: 22
},
sectionHeader: {
paddingTop: 2,
paddingLeft: 10,
paddingRight: 10,
paddingBottom: 2,
fontSize: 14,
fontWeight: 'bold',
backgroundColor: 'rgba(247,247,247,1.0)',
},
item: {
padding: 10,
fontSize: 18,
height: 44,
},
})
const SectionListBasics = () => {
return (
<View style={styles.container}>
<SectionList
sections={[
{title: 'D', data: ['Devin', 'Dan', 'Dominic']},
{title: 'J', data: ['Jackson', 'James', 'Jillian', 'Jimmy', 'Joel', 'John', 'Julie']},
]}
renderItem={({item}) => <Text style={styles.item}>{item}</Text>}
renderSectionHeader={({section}) => <Text style={styles.sectionHeader}>{section.title}</Text>}
keyExtractor={(item, index) => `basicListEntry-${item.title}`}
/>
</View>
);
}
export default SectionListBasics;
Một trong những cách sử dụng phổ biến nhất cho chế độ xem danh sách là hiển thị dữ liệu mà bạn tìm nạp từ máy chủ. Để làm được điều đó, bạn sẽ cần tìm hiểu về mạng trong React Native .