此问题在此处已有答案:
JSX for...in loop(2个答案)
4天前关闭。
我有一个ReactJS呈现函数,我在其中迭代一个数组以显示如下内容:
render() {
let object = eval('('+this.props.objectData+')');
let cd = object.objColAliases;
return (
<div>
{
cd.map(o=>{
return <p>{o}</p>
})
}
</div>
);
}
这段代码可以正常工作,但在控制台上出现警告:
js:87警告信息:请输入您的密码:列表中的每个子项都应该具有唯一的“键”属性。
,警告是有意义的,map用于遍历Map而不是简单数组。
所以我试着像普通数组一样迭代,如下所示:
render() {
let object = eval('('+this.props.objectData+')');
let cd = object.objColAliases;
return (
<div>
{
for (let i = 0; i < cd.length; i++) {
return <p>{o}</p>
}
}
</div>
);
}
但是现在我在带有“for(let i = 0; i i++)"。如何在此上下文中编写正确的代码?
This是有问题的沙箱。
2条答案
按热度按时间nhjlsmyf1#
如果
key
属性是唯一的,则应将其添加到map中的父标记:如果它不是唯一的,您可以在Map时使用
index
作为key
:但是,请先阅读文档,因为不建议使用索引作为键:https://reactjs.org/docs/lists-and-keys.html
omjgkv6w2#
您需要为
.map
,s中返回的元素提供唯一的key
标记如果
o
没有唯一属性,也可以使用索引,如下所示