react-native - 为什么给 FlatList 一个数组不起作用?
问题描述
我将我的数据解析为一个数组并将其放入我的FlatList
但我的renderItem
函数不起作用。
如果我将 my 更改为movieData
一个简单的数组,就像它一样工作。const movieData =[1, 2, 3, 4];
FlatList
所以我无法弄清楚为什么我的数据不起作用。
这是我的render
和renderItem
功能:
renderItem = (item) => {
console.log('renderItem =>');
console.log(item);
return (
<View>
<Text>Hi</Text>
</View>
);
}
render() {
console.log('Render MainActivity=>');
const movieData = this.props.mainMovie;
console.log(movieData);
return (
<View>
<FlatList
data={movieData}
renderItem={this.renderItem}
numColumns={1}
horizontal={false}
keyExtractor={(item, index) => index}
/>
</View>
);
}
我可以看到我console.log(this.props.mainMovie);
这样,我认为它是一个数组:
为什么它不适用于 renderItem ?任何帮助,将不胜感激。
提前致谢。
我再次像这样测试一个数组:
const test = [{ number: '1' }, { number: '2' }, { number: '3' }];
这是工作。
我的movieData
阵列到底有什么不同?
解决方案
你renderItem
的功能应该像
renderItem = ({ item }) => {
console.log('renderItem =>');
console.log(item);
return (
<View>
<Text>{...}</Text>
</View>
);
}
在您的实际代码中,您已将其定义为
renderItem(item)
传递给的对象renderItem
有一个item
属性,您可以访问item
使用对象解构,如renderItem({item})
希望这会有所帮助!
推荐阅读
- python - 如何使用 python 脚本运行多个服务器?
- javascript - 如何在一页上显示多个(未知数量的幻灯片)?
- typescript - 从对象文字自动推断的记录类型(例如`uknown`)
- python-3.x - 计算接受字符串的平均成绩
- excel - Excel VBA:如何动态放大/展开 ActiveCell?
- apache-spark - 分组火花数据帧上的最大聚合返回错误值
- c - VS Code C 错误 - 无效的活动开发者路径
- rigid-bodies - 使用 pystackreg 进行图像配准
- php - 当产品出现在 WooCommerce 中时,显示带有术语的标签
- c++ - 如何在不使用布尔参数的情况下实现深浅复制构造函数?