【发布时间】:2018-06-05 19:48:04
【问题描述】:
我得到了:
"VirtualizedList: missing keys for items, make sure to specify a key property on an item or provide a custom keyExtractor"
相当令人困惑...,我传递给它的数组在数组中的每个对象中都定义了一个键属性。我在 this.state 中定义了该数组。我在控制台中进行了快速打印以确保: print out of array
数组中的每个对象定义为:
var obj = {key: doc.id, value: doc.data()};
(文档和数据来自我应用程序的另一部分,但我知道 doc.id 是唯一的)
经过一番谷歌搜索后,我尝试像这样定义一个密钥提取器:
_keyExtractor = (item, index) => item.key;
然后这是我的平面列表定义:
<FlatList
style={{}}
data={this.state.FeedDataCollection}
keyExtractor={this._keyExtractor}
renderItem={(rowData) =>this.RenderFeedCard(rowData)}
/>
仍然收到相同的错误,此时不确定如何处理此问题或它做错了什么。有任何想法吗?非常感谢!
【问题讨论】:
-
试试
_keyExtractor = (item, index) => item.item.key; -
希望这是问题所在,当我这样做时,我收到错误“无法读取未定义的属性‘键’”
-
尝试 _keyExtractor = (item, index) => 索引。它修复了警告吗?如果是,那么问题出在项目键上
标签: arrays react-native react-native-flatlist