tree diff 和 component diff的区别?

发布于 2022-09-11 22:57:25 字数 189 浏览 16 评论 0

最近在学习react diff算法,有一个地方一直没弄明白,tree diff 和 component diff的区别在哪?

在我看来好像没有tree diff这一回事,都是component diff,同层的component比较了之后,同一个类型的就不变,不同类型的就把这个节点删掉(包括所有的子节点),挂上新类型的节点(还有它所有的子节点)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

黑白记忆 2022-09-18 22:57:25

包含和被包含的关系啊……

component diff 先看类型是否相同,相同的话就开始 tree diff 了啊……

时光与爱终年不遇 2022-09-18 22:57:25

tree diff 只会比较整棵树的结构,比如两棵树在同一个高度同一位置是不是有相同数量的子节点,但不会去比较这些子节点是不是一样,比较子节点之间的差异会在 component diff 中进行。

更细节的可以看React 源码剖析系列 - 不可思议的 react diff

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文