Reactjs 在React中,如果我有一个没有为每个列表项指定键的列表,会发生什么

Reactjs 在React中,如果我有一个没有为每个列表项指定键的列表,会发生什么,reactjs,Reactjs,我知道在React中使用数组时,键是重要的道具。我只是好奇如果我不为每个列表项指定一个键会发生什么。所以我有一个非常简单的例子,在对话框组件中有一组按钮(react组件)。这些按钮不会改变,但对话框内容可能会改变。如果我没有为每个按钮指定键,我的按钮是否会在每次对话框内容更改时重新装载? 即使钥匙是多余的,也要始终包含钥匙,这是一种良好的做法吗?以下是官方文件对您问题的答案!()React将默认使用元素的索引作为键。如果元素有可能从其原始位置移动,则应设置一个键以避免出现奇怪的行为 React有

我知道在React中使用数组时,键是重要的道具。我只是好奇如果我不为每个列表项指定一个键会发生什么。所以我有一个非常简单的例子,在对话框组件中有一组按钮(react组件)。这些按钮不会改变,但对话框内容可能会改变。如果我没有为每个按钮指定键,我的按钮是否会在每次对话框内容更改时重新装载?
即使钥匙是多余的,也要始终包含钥匙,这是一种良好的做法吗?

以下是官方文件对您问题的答案!()

React将默认使用元素的索引作为键。如果元素有可能从其原始位置移动,则应设置一个键以避免出现奇怪的行为

React有关键的文档与本文的链接描述了不良行为。

那篇文章的要点:

让我解释一下,键是React用来标识DOM的唯一东西 元素。如果将项目推送到列表或删除,会发生什么情况 中间有东西吗?如果钥匙与之前的相同,则假定 DOM元素表示与前面相同的组件。但那 这不再是事实

可能存在的副本