采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
为什么循环以外的标签都不使用key? 假如根节点tag相同而key 是undefined,那二者相同,则是相同节点,整个dom都将不再深度比较???
第一,所有节点都可以使用 key 。
第二,key 是 undefined 的情况,也会继续进行深度比较的。
key是undefined的情况,源码中判断是someVnode呢?? ```js function someVnode(vnode1, vnode2) { return vnode1.key === vnode2.key && vnode1.sel === vnode2.sel; } ``` 为什么又说会深度比较了,那这个判断有啥意义??
如果 sel 相同,key 都是 undefined 的话,sameVnode 会返回 true 。所以,会继续深度比较。
登录后可查看更多问答,登录/注册
面向1-3年前端的框架及项目面试“刚需内容”
4.2k 1
2.7k 11
1.3k 11
1.4k 11