react在执行时,会对节点进行检查,如果没有key值,那么,检查到这里有dom节点,则会对内容进行清空,并且赋予新值;如果有key值的存在,那么vue会对oldnode和newnode进行对比,发现两者key值是否相同,进行调换位置或是删除操作。
基于上述说法,不得不说,编写key值和不编写key值在时间上一定会有所差异(有key值的速度相对慢,但属于用户无法感知到),但时间上的快慢不属于key值的作用。
key值的作用是:
更精准-->在虚拟dom节点中赋予key值,会更加快速的拿到需要的目标节点,不会造成就地复用的情况,对于节点的把控更加精准。
网友评论