React:键对于列表以外的其他情况有用吗?

Ray*_*ang 6 javascript arrays reactjs

我在渲染列表时可以找到使用键突出显示的所有信息,例如:

<ul>
    {array.map((item, index) => <li key={index}>{item}</li>)}
</ul>
Run Code Online (Sandbox Code Playgroud)

除了列表之外,是否还有其他情况下提供密钥也有帮助?

简单地为页面上的每个非静态元素提供键是否有缺点?

Mar*_*man -1

键仅在列表中使用时才会带来性能优势。当列表中的一个值发生更改时,React 知道只更新该值而不是整个列表。键很有用,因为它们有助于在索引更改时跟踪元素(注意:仅使用索引作为最后手段的键,因为如果索引更改(即元素被添加到列表的前面/中间)React 将不得不重新渲染整个列表)。您可以在这里阅读更多相关信息:https ://reactjs.org/docs/lists-and-keys.html 。至于缺点,我将进行有根据的猜测,并说包含一个未在任何地方使用的额外关键属性会以不明显的方式减慢您的编译时间