写 React / Vue 项目时为什么要在列表组件中写 key

2021-03-26  本文已影响0人  小杰66

在diff算法过程中如果添加了key,则会根据key通过map映射去寻找旧节点,如果没有添加key,则是遍历查找。
从性能上来说,添加key的效率在某种程度上会变低,因为不添加key会使用最大限度减少动态元素并尽可能就地修改复用相同类型元素,所以添加key会有更多的增删节点操作。
不添加key可能存在的副作用有不产生过渡效果,节点绑定的数据状态错位等。

上一篇 下一篇

猜你喜欢

热点阅读