【发布时间】:2019-08-21 13:31:41
【问题描述】:
我有一个const 定义了多个与问题无关的函数,所以我只包括一个相关的净化段。让我知道我是否应该包含更多内容。
return (
<React.Fragment key={index}>
<hr className={hrClasses} />
<span className={spanClasses}>
{isTrue ? 'x' : index + 1}
</span>
</React.Fragment>
);
})}
</div>
);
在浏览器中,我看到了警告:
警告:列表中的每个孩子都应该有一个唯一的“key”属性。
由于 hr 元素不需要唯一的 key 道具,我该如何解决这个错误?
我尝试了不同的键变体,例如将key={index} 添加到hr 元素并将index 键重新标记为id 的span。我不确定还能尝试什么。任何指导将不胜感激!
【问题讨论】:
-
这通常发生在您在循环中创建组件或元素时。如果您使用索引,则键将为 0..n。其他循环可以创建相同的键,或者您可以共享索引。您可以给索引一个前缀或后缀以使其唯一。
-
@DCTID 密钥必须是 unique within siblings only。它不与其他数组共享它