React 和 Preact diff 算法在深度上有啥区别

Posted

技术标签:

【中文标题】React 和 Preact diff 算法在深度上有啥区别【英文标题】:What is the difference between React and Preact diff algorithm in depthReact 和 Preact diff 算法在深度上有什么区别 【发布时间】:2018-03-27 03:28:33 【问题描述】:

我已经在 Preact 的 repo 中了解了这些框架之间的差异。我想深入了解 React 和 Preact diff 算法之间的区别。

它们都适用于 VirtualDOM。 Preact 如何检查一个元素是否应该被创建、更新、删除? key 在框架中是否具有相同的行为?它是否对元素 e.t.c 使用任何 id? 有没有关于该主题的文章、讨论?

【问题讨论】:

不是您问题的直接答案,但您可能想看看这个codepen。 @HardikModha,很遗憾,我无法打开链接 哦..这很奇怪。它对我来说很好。尝试复制粘贴链接:codesandbox.io/s/BkLpXYQn @HardikModha,非常感谢!很有帮助 【参考方案1】:

我有一个 30 分钟的演讲来解释 Preact 的差异,包括键的工作原理以及元素创建/更新的语义: https://youtu.be/LY6y3HbDVmg

【讨论】:

以上是关于React 和 Preact diff 算法在深度上有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

送书Preact(React)核心原理详解

web前端diff 算法深入一下?

React的diff算法详解

React深入理解虚拟dom和diff算法

从零实现Vue虚拟DOM和DOM-DIFF算法

React中Diff算法源码浅析