004.虚拟DOM与真实DOM

1,140 阅读1分钟

案例源码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 准备好容器 -->
    <div id="test"></div>
    <div id="demo"></div>
    <!-- 引入依赖 ,引入的时候,必须就按照这个步骤-->
    <script type="text/javascript" src="../js/react.development.js"></script>
    <script type="text/javascript" src="../js/react-dom.development.js"></script>
    <script type="text/javascript" src="../js/babel.min.js"></script>
    
    <!--这里使用了babel用来解析jsx语法-->
    <script type="text/babel">
        // 1.创建虚拟DOM
        const VDOM = 
        <h1 id="title"><span>Hello</span></h1>  //不需要加""
        // 2.渲染,如果有多个渲染同一个容器,后面的会将前面的覆盖掉
        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上那么多得属性。 image.png

image.png

  1. 虚拟DOM会被React转化成真实DOM呈现在页面上