【发布时间】:2019-10-04 01:32:52
【问题描述】:
我正在尝试获取在以下端点描述的对象: https://api.cosmicjs.com/v1/67302ce0-7681-11e9-8193-4bd8888ec129/objects?pretty=true&hide_metafields=true
您会注意到有一个带有唯一标识符的 _id 字段。
那我为什么会得到:
“警告:遇到两个孩子用相同的钥匙,
:。钥匙应该 是唯一的,以便组件在更新期间保持其身份。 非唯一键可能会导致子项重复和/或省略 — 该行为不受支持,可能会在未来版本中更改。”
这是我的 FlatList 渲染:
render() {
if(this.props.dataToDisplay.objects){
console.log(typeof(this.props.dataToDisplay.objects))
console.log(this.props.dataToDisplay.objects)
this.props.dataToDisplay.objects.forEach((item)=>{
console.log(item)
})
return (
<View style={[{backgroundColor: this.state.backgroundColor},styles.container]}>
<FlatList
data={this.props.dataToDisplay.objects}
keyExtractor={(item, index)=>{item._id.toString()}}
renderItem={({item})=>{
<Text id={item._id}>{item.title}</Text>
}}
/>
</View>
);
}
else {
return (
<View style={[{backgroundColor:
this.state.backgroundColor},styles.container]}>
<Text>Loading elements.</Text>
</View>
);
}
}
}
keyExtractor 会不会有问题? 我尝试使用 keyExtractor={(item, index)=>{item._id}} 没有结果...
感谢您的宝贵时间。
【问题讨论】:
标签: json react-native react-native-flatlist