FlatList 示例:
以下是一个使用 FlatList 的简单示例,用于显示一个垂直滚动的平面列表:
import React from 'react';
import { View, Text, FlatList, StyleSheet } from 'react-native';
const MyFlatListExample = () => {
const data = [
{ id: '1', text: 'Item 1' },
{ id: '2', text: 'Item 2' },
{ id: '3', text: 'Item 3' },
// Add more data items as needed
];
const renderItem = ({ item }) => (
<View style={styles.item}>
<Text>{item.text}</Text>
</View>
);
return (
<FlatList
data={data}
renderItem={renderItem}
keyExtractor={(item) => item.id}
/>
);
};
const styles = StyleSheet.create({
item: {
padding: 20,
borderBottomWidth: 1,
borderBottomColor: '#ccc',
},
});
export default MyFlatListExample;
在这个例子中,FlatList 接收一个 data 属性,其中包含要显示的数据数组。renderItem 函数定义了每个列表项的渲染方式,通过 keyExtractor 属性指定了每个项的唯一标识符。
SectionList 示例:
如果你的数据需要分组显示,你可以使用 SectionList。以下是一个简单的 SectionList 示例:
import React from 'react';
import { View, Text, SectionList, StyleSheet } from 'react-native';
const MySectionListExample = () => {
const data = [
{
title: 'Group 1',
data: [{ id: '1', text: 'Item 1' }, { id: '2', text: 'Item 2' }],
},
{
title: 'Group 2',
data: [{ id: '3', text: 'Item 3' }, { id: '4', text: 'Item 4' }],
},
// Add more groups as needed
];
const renderSectionHeader = ({ section }) => (
<View style={styles.sectionHeader}>
<Text>{section.title}</Text>
</View>
);
const renderItem = ({ item }) => (
<View style={styles.item}>
<Text>{item.text}</Text>
</View>
);
return (
<SectionList
sections={data}
renderItem={renderItem}
renderSectionHeader={renderSectionHeader}
keyExtractor={(item) => item.id}
/>
);
};
const styles = StyleSheet.create({
sectionHeader: {
backgroundColor: '#f0f0f0',
padding: 10,
},
item: {
padding: 20,
borderBottomWidth: 1,
borderBottomColor: '#ccc',
},
});
export default MySectionListExample;
在 SectionList 中,sections 属性接收一个包含 title 和 data 的对象数组,用于分组显示数据。renderItem 和 renderSectionHeader 函数分别定义了每个项和每个分组标题的渲染方式。
以上是两个常用的列表视图组件,它们允许你以高效的方式显示和管理大量数据。在实际项目中,你可能还需要考虑加载更多、下拉刷新等功能,这些功能可以通过相应的属性和方法来实现。
转载请注明出处:http://www.pingtaimeng.com/article/detail/9464/React Native