关于vue v-for的key,和react里面的key

    xiaoxiao2025-02-09  18

    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节点进行遍历,然后比对,找到新的这个节点,和之前的哪个节点是对应的,再比较它们的不同,很浪费性能。

    最新回复(0)