【React学习】—虚拟DOM两种创建方式(二)

简介: 【React学习】—虚拟DOM两种创建方式(二)

一、Hello React案例

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>hello react</title>
  </head>
  <body>
    <!-- 准备好一个容器 -->
    <div id="test"></div>
    <!-- 引入react核心库 -->
    <script src="../js/react.development.js"></script>
    <!-- 引入react-dom支持react操作dom -->
    <script src="../js/react-dom.development.js"></script>
    <!-- 引入Bable 用于将jsx转化为js -->
    <script src="../js/babel.min.js"></script>
    <!-- 此处一定要写Bable -->
    <script type="text/babel">
      //创建虚拟DOM
      const VDOM = <h1>Hello,React</h1>;
      //渲染虚拟DOM
      ReactDOM.render(VDOM,document.getElementById('test'))
    </script>
  </body>
</html>

二、虚拟DOM的两种创建方式

使用jsx创建虚拟DOM

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>使用jsx创建</title>
  </head>
  <body>
    <!-- 准备好一个容器 -->
    <div id="test"></div>
    <!-- 引入react核心库 -->
    <script src="../js/react.development.js"></script>
    <!-- 引入react-dom支持react操作dom -->
    <script src="../js/react-dom.development.js"></script>
    <!-- 引入Bable 用于将jsx转化为js -->
    <script src="../js/babel.min.js"></script>
    <!-- 此处一定要写Bable -->
    <script type="text/babel">
      //创建虚拟DOM
      const VDOM = <h1 id="title">Hello,React</h1>;
      //渲染虚拟DOM
      ReactDOM.render(VDOM,document.getElementById('test'))
    </script>
  </body>
</html>

使用js创建虚拟DOM

<script type="text/javascript">
      //创建虚拟DOM
     const VDOM=React.createElement('h1',{id:'title'},'Hello React')
      //渲染虚拟DOM
      ReactDOM.render(VDOM,document.getElementById('test'))
    </script>

三、虚拟DOM和真实DOM的对比

  • 本质是Object类型的对象(一般对象)
  • 虚拟DOM比较轻,真实DOM比较重,因为虚拟DOM是React内部在用
  • 虚拟DOM最终会被React转化为真实DOM,呈现在页面上


相关文章
|
1月前
|
JavaScript 前端开发 编译器
说说你对虚拟 DOM 的理解?
说说你对虚拟 DOM 的理解?
18 0
|
2月前
|
JavaScript 前端开发 算法
MVVM模型,虚拟DOM和diff算法
1.MVVM是前端开发领域当中非常流行的开发思想。(一种架构模式)目前前端的大部分主流框架都实现了这个MVVM思想,例如Vue,React等2.虽然Vue没有完全遵循MVVM模型,但是Vue的设计也受到了它的启发。Vue框架基本上也是符合MVVM思想的 3.MVVM模型当中尝到了Model和View进行了分离,为什么要分离?
|
2月前
|
JavaScript 前端开发 算法
js开发:请解释什么是虚拟DOM(virtual DOM),以及它在React中的应用。
虚拟DOM是React等前端框架的关键技术,它以轻量级JavaScript对象树形式抽象表示实际DOM。当状态改变,React不直接操作DOM,而是先构建新虚拟DOM树。通过高效diff算法比较新旧树,找到最小变更集,仅更新必要部分,提高DOM操作效率,降低性能损耗。虚拟DOM的抽象特性还支持跨平台应用,如React Native。总之,虚拟DOM优化了状态变化时的DOM更新,提升性能和用户体验。
26 0
|
5天前
|
JavaScript 算法 前端开发
虚拟Dom
虚拟Dom
|
10天前
|
JavaScript 算法 前端开发
Vue的虚拟DOM:Vue虚拟DOM的工作原理
【4月更文挑战第24天】Vue的虚拟DOM提升渲染性能,通过创建JavaScript对象树(虚拟DOM树)来跟踪DOM变化。当状态改变,Vue用新的虚拟DOM树与旧树对比(diff算法),找到最小DOM操作集合来更新真实DOM。优化策略包括减少状态变化、使用key属性和简化组件结构。理解虚拟DOM工作原理有助于Vue的性能优化。
|
22天前
|
JavaScript 前端开发
|
26天前
|
JavaScript 前端开发 算法
什么是虚拟dom
什么是虚拟dom
|
1月前
|
JavaScript 前端开发 算法
为什么虚拟dom会提高性能?
为什么虚拟dom会提高性能?
20 0
|
1月前
|
JavaScript 算法 前端开发
什么是虚拟DOM?什么是diff算法?
什么是虚拟DOM?什么是diff算法?
|
2月前
|
JavaScript 前端开发 算法
深入探讨前端框架Vue.js中的虚拟DOM机制
本文将深入探讨前端框架Vue.js中的虚拟DOM机制,分析其原理、优势以及在实际开发中的应用场景,帮助读者更好地理解Vue.js框架的核心特性。