当前位置: 首页 > 知识库问答 >
问题:

虚拟DOM在Todo like应用中的优势是什么

苏鸿才
2023-03-14

由于DOM具有结构,我认为在很多情况下,我们知道将要进行的确切更改,在这些情况下,我看不到虚拟DOM的优势。我是不是漏掉了这幅画中一些重要的部分?

我看到了一些关于虚拟DOM主题的其他讨论,但我觉得它没有回答我的问题。我希望举一个例子会使它更具体。

共有1个答案

子车睿
2023-03-14

虚拟DOM是一个节点树,以对象和属性的形式列出内容、元素及其属性。React的render()方法从React组件创建一个节点树,并由于数据模型中的操作引起的突变而更新该节点树。与真实DOM相比,虚拟DOM是真实DOM的内存表示。它是一个轻量级JavaScript对象,只是真实DOM的副本。

js在任何时候都维护2个虚拟DOM。其中一个是更新的状态虚拟DOM,另一个是以前的状态虚拟DOM。最大限度地减少重绘屏幕所需的时间是浏览器制造商最关心的问题之一。可以做的最合适的事情是最小化和批处理需要重新绘制的DOM更改。在另一个抽象级别上,这种对DOM更改进行批处理和减少的策略是React虚拟DOM背后的思想。

现在虚拟Dom是高效的。您可以期望更高的性能、CPU与内存的最佳使用情况。

 类似资料:
  • 本文向大家介绍什么是虚拟DOM?相关面试题,主要包含被问及什么是虚拟DOM?时的应答技巧和注意事项,需要的朋友参考一下 虚拟 dom 是相对于浏览器所渲染出来的真实 dom 的,在react,vue等技术出现之前,我们要改变页面展示的内容只能通过遍历查询 dom 树的方式找到需要修改的 dom 然后修改样式行为或者结构,来达到更新 ui 的目的。 这种方式相当消耗计算资源,因为每次查询 dom 几

  • 在经历反应时,我产生了以下疑问: > DOM操作非常昂贵 但是最终react也会进行DOM操作。我们无法使用虚拟DOM生成视图。 折叠整个DOM并构建它会影响用户体验。 我从来没有这样做过,我主要做的是更改所需的子节点(而不是折叠整个父节点)或附加由JS生成的HTML代码。 例子: > 当用户向下滚动时,我们将帖子附加到父元素,甚至react也必须以同样的方式执行。没有人会因此而毁掉整个dom。

  • 本文向大家介绍react的虚拟DOM和vue的虚拟DOM有什么区别?相关面试题,主要包含被问及react的虚拟DOM和vue的虚拟DOM有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 React 是数据先生成 vdom,然后对比 vdom(实现上并非先后顺序,两棵树边遍历边生成新的树),最后通过新的 DOM 树渲染。 Vue 是数据先进性对比,先通过数据的不同,再去更新 vdom(这不知道

  • 作为一个指针,我觉得这可能与运行时需要从JIT JavaScript跳到本地DOM操作代码时的上下文切换有关,但我从未找到关于这一点的明确答案。

  • 我刚开始学ReactJS。我以前在所有的项目中都使用jQuery和Javascript,在阅读了教程后,对ReactJS几乎没有什么疑问。 > 为什么我需要ReactJS,jQuery仍然是用来更新DOM和handlebar,dust是用来处理模板的。

  • null 另外,作为API开发人员,如果我不使用它,我会失去什么?