虚拟DOM的两种创建方法

简介: 虚拟DOM的两种创建方法

1.使用jsx创建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>hello-react</title>
</head>
<body>
    <!-- 在这里创建一个容器 -->
    <div id="test"></div>
    <!-- 先在这里引入react核心库,注意要先引入核心库,再去引入其他库 -->
    <script src="./react-resource/react.development.js"></script>
    <!-- 引入react-dom,便于对DOM进行操作 -->
    <script src="./react-resource/react-dom.development.js"></script>
    <!-- 引入babel.min.js,便于将jsx转化为js -->
    <script src="./react-resource/babel.min.js"></script>
    <!-- 在这里必须要引入babel.min.js文件 -->
    <script type="text/babel">
        const VDOM=
        <h1 title="test">我爱娟宝</h1>; ReactDOM.render(VDOM,document.getElementById("test")); // 如果在这里同时出现两个DOM操作,那么再在这里就会出现替换效果,就是后面那一个会替换掉前面那一个
    </script>
</body>
</html>


2.使用js创建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>使用js创建DOM</title>
</head>
<body>
    <div id="test"></div>
    <script src="./react-resource/react.development.js"></script>
    <script src="./react-resource/react-dom.development.js"></script>
    <script type="text/javascript">
        const VDOM = React.createElement('h1', {
            id: test,
            title: test
        }, "娟宝爱你");
        ReactDOM.render(VDOM, document.getElementById("test"));
    </script>
</body>
</html>

3.用两个createElement

<!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>使用js创建DOM</title>
</head>
<body>
    <div id="test"></div>
    <script src="./react-resource/react.development.js"></script>
    <script src="./react-resource/react-dom.development.js"></script>
    <script type="text/javascript">
        const VDOM = React.createElement('h1', {
            id: test,
            title: test
        }, React.createElement('span', {
            title: test
        }, "娟宝"));
        ReactDOM.render(VDOM, document.getElementById("test"));
    </script>
</body>
</html>

上面的这个代码是由下面的代码翻译而来的,就是在引用babel的时候,由jsx转化为js代码

<!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>使用js创建DOM</title>
</head>
<body>
    <div id="test"></div>
    <script src="./react-resource/react.development.js"></script>
    <script src="./react-resource/react-dom.development.js"></script>
    <script type="text/javascript">
        const VDOM = (<h1 title="test">
            <span>Hello!react</span>
            </h1>);
    ReactDOM.render(VDOM, document.getElementById("test"));
    </script>
</body>
</html>
相关文章
|
1月前
|
JavaScript 前端开发 索引
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
|
27天前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
40 5
|
2月前
|
缓存 编解码 JavaScript
DOM 和 BOM 在项目中应用时的性能优化方法
【10月更文挑战第19天】总之,优化 DOM 和 BOM 的性能需要综合考虑多个方面,通过合理的设计和技术手段,提升项目的运行效率和用户体验。在实际开发中,要不断地进行性能优化实践,以适应不断变化的需求和技术发展。
|
1月前
|
JavaScript 前端开发 API
|
7月前
|
XML JavaScript 前端开发
XML DOM - 属性和方法
XML DOM通过属性(如nodeName、nodeValue、parentNode、childNodes和attributes)和方法提供编程接口,让开发者用JavaScript等语言以节点方式交互XML。属性描述节点信息,方法执行操作,如删除节点。
|
7月前
|
XML JavaScript 前端开发
属性和方法向 XML DOM 定义了编程接口
XML DOM 提供编程接口,通过属性和方法操作XML结构。使用JavaScript等语言,可访问和修改节点。属性如nodeName、nodeValue揭示节点信息,方法如getElementsByTagName、appendChild、removeChild实现查找、添加和删除节点功能。节点对象x的应用示例贯穿其中。
|
2月前
|
JavaScript 前端开发
DOM的概念?获取html元素的方法有哪些?
DOM的概念?获取html元素的方法有哪些?
36 0
|
4月前
|
JavaScript 前端开发
DOM的概念?获取html元素的方法有哪些?
DOM的概念?获取html元素的方法有哪些?
45 0
|
6月前
|
JavaScript 前端开发
DOM操作有哪些方法可以改变元素的样式?
【6月更文挑战第30天】DOM操作有哪些方法可以改变元素的样式?
47 2
|
6月前
|
JavaScript 前端开发 算法
虚拟DOM是React的关键技术,它是个轻量的JS对象树,模拟实际DOM结构。
【6月更文挑战第27天】虚拟DOM是React的关键技术,它是个轻量的JS对象树,模拟实际DOM结构。当状态改变,React不直接修改DOM,而是先构建新的虚拟DOM树。通过 diff 算法比较新旧树,找到最小变更,仅更新必要部分,提高性能,避免频繁DOM操作。虚拟DOM还支持跨平台应用,如React Native。它优化了更新流程,简化开发,并提升了用户体验。
47 1