关于vue v-for的key,和react里面的key
2019-05-26 15:38
453 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/JDDDDDDyaya/article/details/90576679
key 值 :
为了虚拟dom能够快速找准对应的节点,进行对比,极大的提升虚拟dom对比速度,也减少了不必要的遍历
举个栗子:
let arr = [1, 2, 3, 4, 5]
把这个 arr渲染为 虚拟dom节点, 每个虚拟dom节点上面都存在 key值。key值绑定的都是它们自己
发生改变: let arr = [2, 3, 4, 5]了。生成新的虚拟dom节点(4个),新的虚拟dom和旧的dom节点进行对比,因为它们都有key,所以比较的时候,就找相同的key值的dom节点进行对比,找出它们的不同,发现原来key值为1的虚拟dom节点被删除了, 就重新渲染了视图。
如果没有key,就需要将旧的虚拟dom节点 和 新的虚拟dom节点进行遍历,然后比对,找到新的这个节点,和之前的哪个节点是对应的,再比较它们的不同,很浪费性能。
相关文章推荐
- 关于Public key for *.rpm is not installed 的解决方法
- vue里面关于created和mounted的区别
- Red Hat Linux使用yum 安装报 关于Public key for *.rpm is not installed 的解决方法
- vue开发中v-for在Eslint的规则检查下出现:Elements in iteration expect to have 'v-bind:key' directives
- 关于Vue的v-for渲染出多个元素之后如何单独添加属性
- yum 安装报 关于Public key for *.rpm is not installed 的解决方法
- vue替换data里面for渲染的列表或者是循环以及替换数组的内容
- Missing space before value for key 'path'vue.js解决空格报错
- yum 安装报 关于Public key for *.rpm is not installed 的解决方法
- vue v-for :key
- 关于Public key for *.rpm is not installed 的解决方法
- vscode编写vue代码v-for时出现Elements in iteration expect to have 'v-bind:key' directives.
- react router @4 和 vue路由 详解(三)react如何在路由里面定义一个子路由
- Vue指令v-for和key属性
- vue指令之v-for和key属性
- 如何让oracle里面的主键自动递增 autoincrement primary key for oracle
- 关于fragment里面调用startActivityForResult,onActivityResult没有反应的学习
- Red Hat Linux使用yum 安装报 关于Public key for *.rpm is not installed 的解决方法
- 关于小程序for循环警告没有wx:key
- React中的vue的v-for操作。