我正在尝试获取以下endpoint处描述的对象:https://api.cosmicjs.com/v1/67302ce0-7681-11e9-8193-4bd8888ec129/objects?pretty=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={(项,索引)=
谢谢你抽出时间。
在您的示例中,您没有任何称为“key”的属性,正是因为这个原因,您有一个错误。你应该尝试分配另一个属性,比如一个关键元素,也许是属性“_id”,它存在于你的对象中,类似于这样:
<FlatList
data={this.props.dataToDisplay.objects}
keyExtractor={(item, index) => {item._id}}
numColumns={2}
renderItem={({item})=>{
<Text id={item._id}>{item.title}</Text>
}}
/>
而不是keydextractor={(项,索引)=
keyExtractor
是可以的。返回函数不是:
keyExtractor={(item, index)=>{item._id.toString()}}
通过打开大括号{}
引擎需要return
关键字来返回任何内容。否则它将是一个void
要么做:
keyExtractor={(item, index)=> item._id.toString()}
或:
keyExtractor={(item, index)=> { return item._id.toString()}}
renderItem方法也是如此:
renderItem={({item})=>{
<Text id={item._id}>{item.title}</Text>
}}
由于打开了{}
,因此取消了arrow函数的隐式返回,必须显式地追加它
renderItem={({item})=>{
return <Text id={item._id}>{item.title}</Text>
}}
顺便说一句,id
不是之一
为什么它不打印“processTextPosition:ContainsKey”?
我正在用FFProbe测试一个带有H264视频的mp4文件。我正在使用以下命令来获取帧信息。 我得到以下输出。
问题内容: 我有以下代码来获取地图: 如何打印带有重复键的消息“重复键”? 问题答案: 如何打印带有重复键的消息“重复键”? 使用当前代码,您将收到消息“重复键”,其中包含至少2个实例的列表,这些实例具有与对象相同的值,例如。 如何获得对应的密钥? 到目前为止,还无法获得相应的键,当前从合并功能中获得的实际上是与相同键映射的2个值,这些值需要合并以仅保留对应键的一个值。 您的问题是 Java 9
问题内容: 在以下代码中,我不明白为什么当它属于两个不同的对象时具有相同的ID? 问题答案: 我认为这是正在发生的事情: 取消引用时,将在内存中创建其副本。该存储位置由以下位置返回 由于没有引用到刚刚创建的方法的副本,因此GC将其回收,并且该内存地址再次可用 取消引用时,将在相同的内存地址(可用)中创建它的副本,您可以再次使用该地址。 第二个副本是GCd 如果您要运行一堆其他代码并再次检查实例方法
我正在写一个从文件中读取行的程序。 正在使用。例如,使用的密钥是“InboundTCP”。 从缓冲读取器读取第一行时,hashmap的containsKey(key)返回false,并添加一个新条目,这是显而易见的情况。但是,如果有另一行带有键“InboundTCP”,则containskey(key)返回false。 我放置了一个断点,并看到哈希代码不同。它将作为新条目添加。对于所有其他后续读取
问题内容: 我正在尝试在Eclipse中输入一对尖括号,例如“ <>”。但是,它显示为单引号和一个点,例如“’”。我尝试了几次,发现尖括号实际上位于反斜杠的位置。 为什么会这样呢?我该如何改回来? 提前致谢。 习 问题答案: 我认为这与Windows的令人讨厌的功能有关-很长时间以来,我在不同的程序(不仅仅是Eclipse)中都有类似的东西。 如果您使用的是非英语版本的Windows,则可能安装了
我想创建一个包含所有价格选项的列表,并将唯一的值放在下拉列表中,所以我这样做: 此代码引发错误: 警告:遇到具有相同键的两个子项。键应该是唯一的,以便组件在更新时维护它们的标识。非唯一键可能导致重复和/或省略子键-此行为不受支持,并且可能在未来版本中更改。 从到 更新我也添加到它呈现的地方。 和SearchHandlerPrice:
我试图故意制造碰撞。 所以,我有和对象。我已经覆盖了Country的和方法,以便: india.hash代码()==india2.hash代码() 根据JavaHashMap中的冲突解决方案和文章“让这个国家对象在hashmap中”的一部分,如果key1的结果等于key2上的相同操作,那么应该会有冲突。 所以,我放置断点来查看的内容,并查看它的是2。也就是说,它包含两个不同的条目,并且没有link