[笔记] Vue中key的作用

Vue官方文档解释

key 的特殊属性主要用在 Vue 的虚拟 DOM 算法,在新旧 nodes 对比时辨识 VNodes。如果不使用 key,Vue 会使用一种最大限度减少动态元素并且尽可能的尝试修复/再利用相同类型元素的算法。使用 key,它会基于 key 的变化重新排列元素顺序,并且会移除 key 不存在的元素。

有相同父元素的子元素必须有独特的 key。重复的 key 会造成渲染错误。

使用key的用处
  • 完整地触发组件的生命周期钩子
  • 触发过渡
key和效率
  • 设置key之后数组的diff效率不一定会提高(在复杂的列表渲染中快速准确的找到与newVnode相对应的oldVnode,提升diff效率)
  • 不使用key时,原地复用的效率是最高的(每一次循环新旧节点都是相对应的,只需要更新其内的文本内容就可以完成DOM更新)
参考

写 React / Vue 项目时为什么要在列表组件中写 key,其作用是什么?

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 摘要: 什么是虚拟DOM? 作者:浪里行舟 Fundebug经授权转载,版权归原作者所有。 前言 Vue.js 2...
    Fundebug阅读 7,462评论 0 6
  • Vue是一个前端js框架,由尤雨溪开发,是个人项目 Vue近几年来特别的受关注,三年前的时候angularJS霸占...
    6e5e50574d74阅读 602评论 0 0
  • 本文基于vue-2.4.4源码进行分析 Vue 2.0开始,引入VirtualDOM。 使用VirtualDOM而...
    fehysunny阅读 6,308评论 3 10
  • vue概述 在官方文档中,有一句话对Vue的定位说的很明确:Vue.js 的核心是一个允许采用简洁的模板语法来声明...
    li4065阅读 7,628评论 0 25
  • 我给1起
    金八力郭老师阅读 162评论 0 0

友情链接更多精彩内容