3 回答
TA贡献1842条经验 获得超21个赞
从数据中获取一个项目并将其呈现到列表中。{item}
从中获取字段data
进行渲染,而不是直接用作data
item进行渲染,
尝试使用以下代码:
<FlatList
data={posts}
renderItem={({item, index}) => (
<TouchableOpacity
onPress={() => console.log(posts)}
style={{ backgroundColor: 'yellow', marginVertical: 20 }}
>
<Text style={{ fontSize: 30 }}>{item.title}</Text>
</TouchableOpacity>
)}
/>
TA贡献1829条经验 获得超6个赞
你仍然需要进入里面Array所以它应该是
[
Object {
"description": "this is the body text",
"key": "8x9RPFqKlyXdwyTQMQqJ",
"title": "title here",
"topic": "Public",
},
Object {
"key": "DaFVjEUBDrVXDCSsiotr",
},
Object {
"description": "Eek",
"key": "n1YAuqv4gaZ2EFDwbCQD",
"title": "Eem",
"topic": "Public",
},
]
TA贡献1966条经验 获得超4个赞
对于那些在未来挣扎的人:
根据 Drew 和 dieu 所说,尝试返回整个对象,其中 .title 不存在。
此更改解决了我的问题:
<FlatList
data={posts}
renderItem={(item) => <TouchableOpacity onPress={() => console.log(posts)} style={{ backgroundColor: '#ECECEC', marginVertical: 20, height: 100, borderRadius: 10 }}>
<Text >{item.item.title}</Text>
</TouchableOpacity>}
/>
检查该项目实际上试图按照 deidu 建议显示的内容。
添加回答
举报