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

什么是虚拟DOM和其他很少的反应疑问

易博文
2023-03-14

我刚开始学ReactJS。我以前在所有的项目中都使用jQuery和Javascript,在阅读了教程后,对ReactJS几乎没有什么疑问。

>

  • 为什么我需要ReactJS,jQuery仍然是用来更新DOM和handlebar,dust是用来处理模板的。

  • 共有1个答案

    谷梁英资
    2023-03-14

    以我的理解,我解释是为了让你明白:

    以列表次数为例:

    >

  • 如果这些列表项之一更新,那么DOM将重新呈现整个列表。这就是DOM效率低下的根源。

      null

    我希望这有助于阐明React使用虚拟DOM的效率优势。

    更多的是为什么React的虚拟DOM概念据说比肮脏的模型检查性能更好?

    反应,它不仅仅是一个模板引擎。因此,JSX比模板引擎更宽泛。希望你知道模板引擎是如何工作的。下面是比较:

    JSX/JS:      javascript -> vdom
    Template:    string -> javascript -> vdom
    
    // File 1 - templates/progress.html
    <div class="progress-container">
      <div class="progress-bar" data-style="width: $val"></div>
    </div>
    
    // File 1 -- progress
    const (val) => (
      <div class="progress-container">
        <div class="progress-bar" style={{width: val}}></div>
      </div>
    );
    

    >

  • jQuery直接与DOM交互。

    其思想是DOM元素携带了太多不必要的数据,而虚拟DOM抽象了相关部分,从而提高了性能。

    在React中,修改虚拟DOM,然后将其与现有DOM元素进行比较,并进行必要的更改/更新。

    我希望我能尽力消除你的疑虑

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

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

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

    • 我知道React创建一个虚拟DOM并比较差异,然后只是更新真实DOM的实际元素,但是如果手动更改它,如何更有效呢?通过还是使用jQuery函数?

    • 由于DOM具有结构,我认为在很多情况下,我们知道将要进行的确切更改,在这些情况下,我看不到虚拟DOM的优势。我是不是漏掉了这幅画中一些重要的部分? 我看到了一些关于虚拟DOM主题的其他讨论,但我觉得它没有回答我的问题。我希望举一个例子会使它更具体。

    • 简单地说,虚拟机(Virtual Machine)就是允许我们在当前操作系统中运行其他操作系统的软件,本质上和 VS、QQ 这些应用程序一样。 所以,只要我们在电脑(PC 或笔记本等)上安装好虚拟机软件,就可以模拟出来若干台相互独立的虚拟 PC 设备,每一个都如何一台真实的计算机。在此基础上,我们可以给每台虚拟的 PC 设备安装指定的操作系统,这样就可以实现在一台电脑上同时运行多个操作系统。 另外