在diff算法过程中如果添加了key,则会根据key通过map映射去寻找旧节点,如果没有添加key,则是遍历查找。
从性能上来说,添加key的效率在某种程度上会变低,因为不添加key会使用最大限度减少动态元素并尽可能就地修改复用相同类型元素,所以添加key会有更多的增删节点操作。
不添加key可能存在的副作用有不产生过渡效果,节点绑定的数据状态错位等。
在diff算法过程中如果添加了key,则会根据key通过map映射去寻找旧节点,如果没有添加key,则是遍历查找。
从性能上来说,添加key的效率在某种程度上会变低,因为不添加key会使用最大限度减少动态元素并尽可能就地修改复用相同类型元素,所以添加key会有更多的增删节点操作。
不添加key可能存在的副作用有不产生过渡效果,节点绑定的数据状态错位等。
本文标题:写 React / Vue 项目时为什么要在列表组件中写 key
本文链接:https://www.haomeiwen.com/subject/iybjhltx.html
网友评论