【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,呈现在页面上

猜你喜欢

转载自blog.csdn.net/m0_46374969/article/details/132109369