React中的虚拟DOM与真实DOM

简介: React中的虚拟DOM与真实DOM

React中的虚拟DOM与真实DOM

首先先展示一段代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>03 虚拟DOM与真实DOM</title>
</head>
<body>
  <!-- 准备好一个容器 -->
  <div id="test"></div>
  <div id="demo"></div>
  <!-- 引入react核心库 -->
  <script src="../js/react.development.js"></script>
  <!-- 引入react-dom 用于支持react操作DOM-->
  <script src="../js/react-dom.development.js"></script>
  <!-- 引入babel 用于将JSX 转换为 JS -->
  <script src="../js/babel.min.js"></script>
  <script type="text/babel"> /* 此处一定要写babel */
      // 第一步 创建虚拟DOM
      var VDOM = ( /* 此处一定不要写引号 */
        <h1 id="title">
          <span>HELLO React</span>
        </h1>
      )
      // 第二步 渲染虚拟DOM到页面
      ReactDOM.render(VDOM, document.getElementById("test"));
      const TDOM = document.getElementById('demo')
      console.log('虚拟DOM',VDOM);
      console.log('真实DOM',TDOM);
      debugger;
    </script>
</body>
</html>

上述代码中的输出内容如下:

总结:

关于虚拟DOM

       1. 本质是Object类型的对象(一般对象)
         2.  虚拟DOM比较“轻”,真实DOM比较“重”,原因是虚拟DOM是React内部在用,无需真实DOM上那么多的属性。
         3. 虚拟DOM最终会被React转化为真实DOM,呈现在页面上。
目录
相关文章
|
5月前
|
JavaScript 前端开发 算法
React技术栈-虚拟DOM和DOM diff算法
这篇文章介绍了React技术栈中的虚拟DOM和DOM diff算法,并通过一个实际案例展示了如何使用React组件和状态管理来实现动态更新UI。
59 2
|
5月前
|
JavaScript 前端开发
react学习(3)创建虚拟dom的两种方式
react学习(3)创建虚拟dom的两种方式
183 67
|
4月前
|
JavaScript 前端开发 算法
真实DOM和虚拟DOM有哪些区别?
本文介绍了真实DOM和虚拟DOM的概念、使用方式、优势、劣势、使用场景、影响因素、开发效率和性能对比。真实DOM是浏览器提供的原生接口,直接操作简单直观,但频繁操作会导致性能损耗。虚拟DOM是真实DOM的抽象表示,通过比较差异减少DOM操作,适用于大规模数据变更和复杂交互的页面。开发者应根据具体需求选择合适的DOM操作方式,以提高页面性能和开发效率。
191 1
真实DOM和虚拟DOM有哪些区别?
|
4月前
|
JavaScript 前端开发 算法
React 虚拟 DOM 深度解析
【10月更文挑战第5天】本文深入解析了 React 虚拟 DOM 的工作原理,包括其基础概念、优点与缺点,以及 Diff 算法的关键点。同时,分享了常见问题及解决方法,并介绍了作者在代码/项目上的成就和经验,如大型电商平台的前端重构和开源贡献。
81 3
|
5月前
|
XML JavaScript 前端开发
学习react基础(1)_虚拟dom、diff算法、函数和class创建组件
本文介绍了React的核心概念,包括虚拟DOM、Diff算法以及如何通过函数和类创建React组件。
54 3
|
5月前
|
JavaScript 前端开发
react字符串转为dom标签,类似于Vue中的v-html
本文介绍了在React中将字符串转换为DOM标签的方法,类似于Vue中的`v-html`指令,通过使用`dangerouslySetInnerHTML`属性实现。
152 0
react字符串转为dom标签,类似于Vue中的v-html
|
4月前
|
JavaScript
DOM 节点列表长度(Node List Length)
DOM 节点列表长度(Node List Length)
|
4月前
|
JavaScript
HTML DOM 节点树
HTML DOM 节点是指在 HTML 文档对象模型中,文档中的所有内容都被视为节点。整个文档是一个文档节点,每个 HTML 元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。DOM 将文档表示为节点树,节点之间有父子和同胞关系。
|
4月前
|
JavaScript
HTML DOM 节点
HTML DOM(文档对象模型)将HTML文档视为节点树,其中每个部分都是节点:文档本身是文档节点,HTML元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。节点间存在父子及同胞关系,形成层次结构。
|
4月前
|
XML JavaScript 数据格式
XML DOM 遍历节点树
XML DOM 遍历节点树