返回介绍

什么是 "key" 属性,在元素数组中使用它们有什么好处?

发布于 2024-09-16 12:14:59 字数 627 浏览 0 评论 0 收藏 0

key 是一个特殊的字符串属性,你在创建元素数组时需要包含它。 Keys 帮助 React 识别哪些项已更改、添加或删除。

我们通常使用数据中的 IDs 作为 keys :

const todoItems = todos.map((todo) =>
  <li key={todo.id}>
    {todo.text}
  </li>
)

在渲染列表项时,如果你没有稳定的 IDs,你可能会使用 index 作为 key :

const todoItems = todos.map((todo, index) =>
  <li key={index}>
    {todo.text}
  </li>
)

注意:

  1. 由于列表项的顺序可能发生改变,因此并不推荐使用 indexes 作为 keys 。这可能会对性能产生负面影响,并可能导致组件状态出现问题。
  2. 如果将列表项提取为单独的组件,则在列表组件上应用 keys 而不是 li 标签。
  3. 如果在列表项中没有设置 key 属性,在控制台会显示警告消息。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文