javascript - React Native 的 FlatList proprenderItem 需要额外的“item”(item) => {item.item.name}?
问题描述
在这里,我试图在 FlatList 中显示一个名为“posts”的数组。
render() {
console.log(this.props.posts);
return (
<View style={this.styles.container}>
<FlatList
data={this.props.posts}
renderItem={(item) => <Text> {item.name} </Text>}
/>
</View>
);
}
但是上面的代码没有显示 FlatList 中的任何数据。
但是,在 renderItem 中,如果我添加一个额外的“项目”属性,它就可以工作。
renderItem={(item) => <Text> {item.item.name} </Text>}
这种行为的原因是什么。
解决方案
ReactNative 的 FlatList 的输入不是item
,而是一个包含 3 个参数的对象:item
用于实际数据、index
用于索引和separators
用于自定义项目组件的对象。您所做的是命名该对象item
,并从该对象中获取实际item
值。
为避免混淆,请考虑使用 ES6 简写:
renderItem={({ item, index }) => <Text> {item.name} </Text>}
推荐阅读
- python - 如何在无序列表 selenium + python 中抓取信息
- typescript - Typescript - 输出类型取决于输入类型
- android-room - 无法弄清楚如何使用 pojo 从一个 Room 实体构造 ViewPager2 的数据
- arrays - 索引匹配不同日期和值之间的搜索
- webrtc - 无法访问 coturn 网络管理员
- json - 如何从一个数据框中获取规则并将其应用于其他数据框以获取 python 中的统计信息?
- scheme - SICP Ex。1.17 - “快速乘法”比“乘法”慢?
- c# - 为什么我不能通过反射获得控件的 MouseDown 事件
- python-3.x - 无法在 Windows 7 中从 cmd 启动 Jupyter lab
- c++ - 插入并填充全局数组 LLVM