1. key 的作用
标识模板中的 DOM 元素
2. 如何起作用
在虚拟DOM转换的过程中,如何提升解析效率?便是通过 key。先来一个容易理解的小常识:
上面的小常识,对于 key 的作用来说也是类似
从伪代码的角度上看,虚拟DOM对比算法如下:
if(旧虚拟DOM === 新虚拟DOM) {
// 复用DOM节点
} else {
// 将虚拟DOM转为真实DOM
}
3. 总结
- 尽量
不用 index 作为 key
,用 数据本身的标识 作为key
更合适 - 如果列表数据 不涉及到顺序改变,用 index 作为 key 是没问题的
- key 只在
虚拟DOM
的对比算法中起作用,为了 提高模板解析效率