如果没有观察到状态,虚拟DOM实现与createDocumentFragment()的不同之处是什么?

viv*_*011 10 javascript dom reactjs

虚拟DOM是DOM的轻量级副本,在将其插入实际DOM之前在本地维护/缓存.我们可以根据需要更改它,然后保存到我们真正的DOM树中.它使用高效的diff算法来来回更新更改和其他用例.
这一切都是为了避免使用DOM进行直接操作,因为这是一项昂贵的操作.
我们有document.createDocumentFragment()方法,它可以在JavaScript中使用,它也创建了想要插入DOM的虚构树节点对象.
我想知道,如果我没有需要在任何状态或双向绑定上观察的视图/组件(例如,只是通过传递选项渲染模板,并处理DOM上的事件),Virtual DOM是否真的会在这样的情况下产生影响场景?
或者它与createDocumentFragment()一样好,如果它只需渲染而不是观察状态.

Nor*_*ard 4

最简单的答案是 NodeJS 确实(/将)没有document.createDocumentFragment,也没有document.createElement或任何这样的东西。

VirtualDOM 的要点是不仅允许对稍后注入 DOM 的系统进行大规模编辑,而且还允许在 DOM 不存在的环境中进行任何编辑。

这就是s和VirtualDOM实际应用中最大的区别DocumentFragment

与手动插入片段及其子片段相比,就 DOM 虚拟化的特定实例而言,额外的好处是某些视图库(例如 React)使处理这些事情变得非常简单。

  • 这里没有任何与 NodeJS 相关的内容。您可以在 JavaScript 中使用“document.createDocumentFragment”来创建片段,然后将整个树添加到 DOM。另外,我编辑了同样的问题。 (2认同)