1
41
您应该为每个孩子添加一个密钥 以及孩子体内的每个元素 . 这种方法可以处理最小的DOM更改。
在代码中,每个
检查 this example .
试着移除
在示例中,如果我们不提供
以下是代码:
答案发表在 @Chris 下面的内容比这个答案要详细得多。 请看一看 https://stackoverflow.com/a/43892905/2325522 关于对账关键点重要性的React文档: Keys |
2
5
迭代数组时要小心!! 一种常见的误解是,使用数组中元素的索引是抑制可能熟悉的错误的一种可接受的方法:
然而,在很多情况下,情况并非如此!这是 反模式 那可以进去吗 一些 情况导致 不想要的行为 .
理解
|
3
4
这可能对某人有帮助,也可能没有帮助,但它可能是一个快速的参考。这也与上面给出的所有答案类似。 我有很多使用以下结构生成列表的位置:
经过一些尝试和错误(以及一些挫折),在最外层的块中添加一个键属性解决了这个问题。另外,请注意
当然,在上面的例子中,我一直天真地使用迭代索引(index)来填充键值。理想情况下,您应该使用列表项特有的内容。 |
4
3
检查:key=undef!!! 您还收到了警告信息:
如果你的代码完全正确,但是如果
有些值未定义!!!请先检查一下。你可以节省时间。 |
5
2
只需添加 唯一密钥 到您的组件
|
6
2
警告:数组或迭代器中的每个子级都应该有一个唯一的“键”属性。 这是一个警告,因为我们将要迭代的数组项需要一个独特的相似性。 React将组件渲染作为数组进行迭代。 解决这个问题的更好方法是为要迭代的数组项提供索引。例如:
索引是内置的道具。 |
7
2
当渲染项没有稳定的ID时,最后可以使用项索引作为键:
|
8
1
应该为键的每个子项使用唯一的值
例如,键值可以是 数据库id 或 UUID (Universal Unique Identifier) . 这里的按键是手动操作的:
您还可以让React使用 React.Children.toArray
|
9
1
在ReactJS中,如果要呈现一个元素数组,那么每个元素都应该有一个唯一的键。通常情况下,这种情况会产生一个列表。 例子:
在上面的示例中,它使用
修正后:
当您没有唯一密钥时使用map的替代解决方案(react不建议这样做) eslint ):
|
10
1
react中定义唯一密钥的最佳解决方案: 在映射中,您初始化了name post,然后key define by key={post.id},或者在我的代码中,您可以看到我定义name项,然后我定义key by key={item.id}:
|
11
0
我遇到这个错误消息是因为
|
12
-1
我有一把独一无二的钥匙,只需要像这样把它当作道具传递:
这一页很有帮助: |
13
-1
这是一个警告,但是 解决这一问题将使反应渲染更快 ,
这是因为
作为解决方案,只需引入
|
BADRUM · 执行两个获取功能后,如何导航回页面? 1 年前 |
Anaya Ammar · 渲染后未显示的值 1 年前 |
Zemelon · -moz背面可见性不适用于顺风css 1 年前 |
Mark C. · 制作一个可松开的单选按钮[关闭] 1 年前 |