key的作用是什么? 简单来说: key是给每一个vnode的唯一id,可以依靠key,更准确, 更快的拿到oldVnode中对应的vnode节点. 1. 更准确 因为带key就不是就地复用了,在sameNode函数 a.key === b.key对比中可以避免就地复用的情况.所以会更加准确. 2. 更快 利用key的唯一性生成map对象来获取对应节点,比遍历方式更快.(这个观点,就是我最初的那个观点.从这个角度看,map会比遍历更快.) 详解: 部分讨论是基于没有key的情况diff速度会更快