一、不写key特殊条件下可能速度“快”
在没有绑定key情况下,使用简单的遍历模板,可能会发生 就地复用 ,从而导致速度变快!
二、key的作用(更准确【避免了 就地复用 】、更快【要求key具有唯一性,对应Map数据结构。所以如果用 index下标作为 key,会不会有啥问题??】)
含义:key,每一个vnode的唯一id。可以通过 key 更准确、更快拿到 老节点对应的 vnode节点。
1. 更准确
因为带key就不是 就地复用
了,在 sameNode 函数 a.key === b.key
对比中可以避免就地复用的情况。所以会更加准确。
2. 更快
利用key的唯一性生成map对象来获取对应节点,比遍历方式更快。(这个观点,就是我最初的那个观点。从这个角度看,map会比遍历更快。)