import React, { PureComponent } from 'react';
import { FlatList, View, Text } from 'react-native';
class MyFlatList extends PureComponent {
render() {
const { data, renderItem } = this.props;
return (
<FlatList
data={data}
keyExtractor={(item, index) => `${item.id}`}
renderItem={renderItem}
initialNumToRender={10} // 预先渲染可视区域的数量
/>
);
}
}
class MyComponent extends PureComponent {
renderItem = ({ item }) => {
return (
<View>
<Text>{item.title}</Text>
</View>
);
};
render() {
const data = []; // 假设这是你的数据源
return (
<MyFlatList data={data} renderItem={this.renderItem} />
);
}
}
export default MyComponent;这个代码示例展示了如何使用PureComponent和FlatList来优化React Native应用中的性能。PureComponent用于防止不必要的重渲染,而FlatList用于高效地渲染大量数据。keyExtractor是FlatList的必需属性,它帮助FlatList跟踪列表中的item。initialNumToRender用于预先渲染列表项,减少了渲染时间。