【发布时间】:2019-10-02 21:17:07
【问题描述】:
我只是想做一个场地列表。
这是console.log(this.state.venues)的结果:
Array [
Object {
"key": "5b0ac89e***",
"venuename": "Venue1",
},
Object {
"key": "557d70asd****",
"venuename": "Venue2",
},
Object {
"key": "58f316ccsa****",
"venuename": "Venue3",
},
]
我通过像这样从 fq-api 中提取这些数据来创建这些数据:
for (var i=0; i < 5; i++) {
this.state.venues.push({
venuename: response.data.response.groups[0].items[i].venue.name,
key: response.data.response.groups[0].items[i].venue.id
});
}
这是我的 JSX:
<View style={styles.list}>
<FlatList data={[this.state.venues]}
renderItem={({item}) => <Text style={styles.item}>{item.venuename}</Text>}
keyExtractor={(item, index) => item.key} />
</View>
我收到列表中的每个孩子都应该有一个唯一的“关键”道具错误。对我来说一切似乎都很好,我不明白为什么它会失败。我不知道这个“关键道具”是什么,我从 fetch 中得到它并尝试使用它,但我无法继续。
感谢您的帮助。
【问题讨论】:
-
item.key是否始终设置?keyExtractor={(item, index) => item.key} -
是的,每个对象都有它
-
你确定应该是
data={[this.state.venues]}吗?因为venues已经是一个数组,所以听起来你应该有data={this.state.venues}。 -
你说得对,我错过了。非常感激! @GhassenLouhaichi
标签: reactjs react-native