虚拟DOM的两种创建方式

Posted ~往无前

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚拟DOM的两种创建方式相关的知识,希望对你有一定的参考价值。

一、虚拟DOM的两种创建方式:

1.使用jsx创建虚拟DOM

 <!-- 准备好一个容器 -->
  <div id="test"></div>
  <!-- 引入react核心库  先导入核心库再导入其他的库--> 
  <script type="text/javascript" src="../js/oldVersion/react.development.js"></script>
  <!-- 引入react.dom 用于支持react操作DOM -->
  <script type="text/javascript" src="../js/oldVersion/react-dom.development.js"></script>
  <!-- 引入babel,用于将jsx转为js -->
  <script type="text/javascript" src="../js/oldVersion/babel.min.js"></script>
  
  <!-- 此处一定要写babel -->
  <script type="text/babel">
    //1.创建虚拟DOM
    const VDOM=<h1>hello,React</h1> /*此处一定不要写引号,因为不是字符串*/
    //2.渲染虚拟DMO到页面  这里需要手动的获取dom节点
    ReactDOM.render(VDOM,document.getElementById("test"))
  </script>

2.使用js创建虚拟DOM

 <!-- 准备好一个容器 -->
  <div id="test"></div>
  <!-- 引入react核心库  先导入核心库再导入其他的库--> 
  <script type="text/javascript" src="../js/oldVersion/react.development.js"></script>
  <!-- 引入react.dom 用于支持react操作DOM -->
  <script type="text/javascript" src="../js/oldVersion/react-dom.development.js"></script>
  
  <!-- 此处写的就是javascript-->
  <script type="text/javascript">
    //1.创建虚拟DOM
    const VDOM=React.createElement('h1',{id:'title'},hello,React)
    //2.渲染虚拟DMO到页面  这里需要手动的获取dom节点
    ReactDOM.render(VDOM,document.getElementById("test"))
  </script>

二、使用js和jsx的区别就是:

1.不需要引入jsx的babel库

2.手动创建DOM元素

jsx的优势就是可以简单的创建虚拟DOM。而使用js书写会比较繁琐。然后通过babel翻译为上面js中所写的内容。

三、关于虚拟DOM:

1.本质是object类型的对象(一般对象)

2.虚拟DOM比较"轻",只是DOM比较"重",因为虚拟DOM是React内部在用,无需只是DOM上那么多属性。

3.虚拟DOM最终会被React转化为真实DOM,呈现在页面上。

以上是关于虚拟DOM的两种创建方式的主要内容,如果未能解决你的问题,请参考以下文章

虚拟DOM的两种创建方式

02 创建虚拟DOM的两种方式

前端学习(3104):react-hello-虚拟dom的两种创建方式

前端学习(3104):react-hello-虚拟dom的两种创建方式

创建虚拟DOM的两种方式和JSX的语法规则

创建虚拟DOM的两种方式和JSX的语法规则