【发布时间】:2026-02-11 20:55:01
【问题描述】:
我正在构建一个 React Native 应用程序,但在使用 FlatList 时遇到了问题。我认为问题可能出在我尝试实现它的方式上,所以我使用了来自 https://reactnative.dev/docs/flatlist 的示例代码并尝试自行运行。
无论我如何尝试,我都会收到错误:
undefined 不是一个对象(评估 'props.getItem')
这是从 FlatList.js 第 450 行生成的。
该文件的第 449 和 450 行是:
_checkProps(props: Props<ItemT>) {
const {
这是来自与 React Native 捆绑在一起的 FlatList.js。
我正在使用 React Native 0.65.1。
这是我正在尝试运行的代码,它给了我错误:
import React from 'react';
import {
SafeAreaView,
View,
FlatList,
StyleSheet,
Text,
StatusBar,
} from 'react-native';
const DATA = [
{
id: 'bd7acbea-c1b1-46c2-aed5-3ad53abb28ba',
title: 'First Item',
},
{
id: '3ac68afc-c605-48d3-a4f8-fbd91aa97f63',
title: 'Second Item',
},
{
id: '58694a0f-3da1-471f-bd96-145571e29d72',
title: 'Third Item',
},
];
const Item = ({title}) => (
<View style={styles.item}>
<Text style={styles.title}>{title}</Text>
</View>
);
const ModalTrackSleep = () => {
const renderItem = ({item}) => <Item title={item.title} />;
return (
<SafeAreaView style={styles.container}>
<FlatList
data={DATA}
renderItem={renderItem}
keyExtractor={item => item.id}
/>
</SafeAreaView>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
marginTop: StatusBar.currentHeight || 0,
},
item: {
backgroundColor: '#f9c2ff',
padding: 20,
marginVertical: 8,
marginHorizontal: 16,
},
title: {
fontSize: 32,
},
});
export default ModalTrackSleep;
【问题讨论】:
-
我系统中的相同代码完美运行尝试
rm -rf node_modules并再次运行您的项目 -
rm -rf node_modules没有帮助我;我也有同样的问题
标签: react-native flatlist