【react】虚拟DOM的两种创建方式

news2024/12/23 0:40:41

在这里插入图片描述

1、使用js创建虚拟DOM

<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>
  <script type="text/javascript">
    // 1. 创建虚拟DOM
    const VDOM = React.createElement('h1',{id:'title'},React.createElement('span',{},'Hello,React'))
    // 2. 渲染虚拟DOM到页面
    ReactDOM.render(VDOM,document.getElementById('test'))
  </script>
</body>

2、使用jsx创建虚拟DOM

<body>
  <div id="test"></div>
  <script src="../js/react.development.js"></script>
  <script src="../js/react-dom.development.js"></script>
  <script src="../js//babel.min.js"></script>
  <script type="text/babel">
    const VDOM = (
      <h1 id="title">
        <span>Hello,React</span>
      </h1>
    )
    ReactDOM.render(VDOM,document.getElementById('test'))
  </script>
</body>

3、虚拟DOM和真实DOM的区别

const TDOM = document.getElementById('test')
console.log('虚拟DOM',VDOM);
console.log('真实DOM',TDOM);

在这里插入图片描述

关于虚拟DOM:
1、本质是Object类型的对象(一般对象)
2、虚拟DOM比较“轻“(属性比较少),真实DOM比较”重“,因为虚拟DOM是React内部在使用,无需真实DOM上那么多的属性
3、虚拟DOM最终会被React转化为真实DOM,呈现在页面上

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/87400.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据期末课设~基于spark的气象数据处理与分析

目录 一 、项目背景 .......................................... 3 二 、实验环境 .......................................... 3 三 、实验数据来源 ................................... 4 四 、数据获取 .......................................... 5 五 、数据分析 ....…

港科夜闻|2022年香港科大气候适应及复原力大会圆满闭幕,政经领袖研讨香港气候政策与绿色金融发展...

关注并星标每周阅读港科夜闻建立新视野 开启新思维1、2022年香港科大气候适应及复原力大会圆满闭幕&#xff0c;政经领袖研讨香港气候政策与绿色金融发展。该会议由香港科大主办&#xff0c;于12月10日开幕。会议以跨领域的知识及观点交流为方针&#xff0c;凝聚公营及私营部门…

vulnhub serial讲解

环境搭建 下载 https://download.vulnhub.com/serial/serial.zip ​ 你会得到一个这样的文件&#xff0c;这里使用VMware新建一个虚拟机&#xff0c;这里记录比较重要的几部分。 ​ ​ ​ ​ 这里就是使用我们刚才下过来的。 ​ 漏洞过程详解 1.信息收集 netdiscover -i …

[附源码]Node.js计算机毕业设计调查问卷及调查数据统计系统Express

项目运行 环境配置&#xff1a; Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境&#xff1a;最好是Nodejs最新版&#xff0c;我…

【论文】Auto-Encoding Variational Bayes

1.预备概念 1.1 后验分布 最大后验&#xff08;Maximum a Posteriori&#xff0c;MAP&#xff09;概率估计详解 【参考文章】https://blog.csdn.net/fq_wallow/article/details/104383057 1.2 重参数 Reparameterization 目的是&#xff1a; 转为公式表达从而实现微分 知乎…

编辑部已成羊村,这几天幸亏有ChatGPT(doge)

梦晨 羿阁 发自 凹非寺量子位 | 公众号 QbitAI坏事了&#xff0c;AI真的来抢饭碗了。还是我的饭碗&#xff01;这两天你们看的推送&#xff0c;有些标题是AI帮忙取的&#xff0c;有些文章甚至由AI完成了主要工作。我呢&#xff1f;我不过是打打下手&#xff0c;加些过渡句&…

RS485总线详解

RS485总线详解前言一、常见接口划分二、RS485概述&#xff08;一&#xff09;简介&#xff08;二&#xff09;接口/引脚图三、RS485总线详解&#xff08;一&#xff09;RS485总线概述&#xff08;二&#xff09;差分传输&#xff1a;&#xff08;三&#xff09;原理图&#xff…

基于51单片机的超声波测距系统设计

功能&#xff1a; 超声波测距仪&#xff0c;测量距离&#xff0c;用LCD12864显示信息。 lcd_writestr(0,0," 超声波测距仪 "); lcd_writestr(1,0,"&#xff0a;&#xff0a;&#xff0a;&#xff0a;&#xff0a;&#xff0a;&#xff0a;&#xff0a;");…

商场中央空调工程-商场商铺中央空调安装常见问题解答

商场中央空调工程-商场商铺中央空调安装常见问题解答 为了提高装修档次&#xff0c;提高舒适度&#xff0c;为顾客营造一个相对舒适的购物环境&#xff0c;很多门店都会选择安装中央空调。刚接触门店中央空调安装的客户会有很多疑问。例如&#xff0c;商店安装的中央空调和家用…

Android消息机制与源码剖析(Looper,Message,MessageQueue以及Handler)

Android消息机制 文章目录Android消息机制消息传递与处理的流程&#xff08;配图示&#xff09;1.【入口】 在 ActivityThread.class 的 main() 方法&#xff0c;为主线程创建 Looper&#xff0c;并开启 loop() 循环2.【创建Looper】通过 Looper.prepareMainLooper() 创建主线程…

MySQL如何快速恢复单表(物理方式)

GreatSQL社区原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本&#xff0c;使用上与MySQL一致。作者&#xff1a;xryz文章来源&#xff1a;社区投稿 使用方法 1、首先创建一个测试表test1&#xff0c;并插入几条数据&#x…

DataParallel里为什么会显存不均匀以及如何解决

作者&#xff1a;台运鹏 (正在寻找internship...)主页&#xff1a;https://yunpengtai.top鉴于网上此类教程有不少模糊不清&#xff0c;对原理不得其法&#xff0c;代码也难跑通&#xff0c;故而花了几天细究了一下相关原理和实现&#xff0c;欢迎批评指正&#xff01;关于此部…

商品上下游第六讲-交易中心-商品秒杀

交易中心-商品秒杀设计 文章目录 交易中心-商品秒杀设计1、项目背景2、主要技术3、项目职责4、项目实现4.1、需求分析4.2、核心流程4.3、关键链路技术方案4.4、库存处理方式1、库存超卖问题订单层面的控制4.5、限流,熔断,降级4.6、超职购小程序—接口梳理4.7、缓存的设计4.8、…

mybatis入门(一)

什么是 MyBatis &#xff1f; MyBatis 是一款优秀的持久层框架&#xff0c;它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息&#xff0c;将接口和 Java 的…

如何使用匈牙利算法解决多维度的约束条件问题

&#x1f37f;*★,*:.☆欢迎您/$:*.★* &#x1f37f; 正文 假设 一个项目 有三个 维度的参数 A B C 都要 组合后最小 分别求解 a b c 三个维度的最优组合 如果三个组合方案刚好 重叠 那么说明有一个使得三个方案最优的 解 如果没有 那么若选择某个方案 其他维度的参数 的值 是…

直播倒计时 2 天 | SOFAChannel#31 RPC 框架设计的考和量

SOFARPC 是蚂蚁集团开源的一款基于 Java 实现的 RPC 服务框架&#xff0c;为应用之间提供远程服务调用能力&#xff0c;具有高可伸缩性&#xff0c;高容错性&#xff0c;目前蚂蚁集团所有的业务的相互间的 RPC 调用都是采用 SOFARPC。SOFARPC 为用户提供了负载均衡&#xff0c;…

Android -- 每日一问:回调函数和观察者模式的区别?

知识点 观察者模式 网上很容易查到观察者模式的定义&#xff1a; 观察者模式定义了对象间的一种一对多依赖关系&#xff0c;使得每当一个对象改变状态&#xff0c;则所有依赖于它的对象都会得到通知并被自动更新。 Android中大量的使用了观察者模式。你可能已经用过ListView…

基于51单片机的舞蹈机器人步进机仿真设计

程序运行图&#xff1a; 仿真原理图&#xff1a; 部分程序&#xff1a; #include "reg51.h" #include "intrins.H" //8步式步进电机脉冲序列 //unsigned char steps[8] {0x77,0x33,0xbb,0x99,0xdd,0xcc,0xee,0x66}; unsigned char steps[8] {0x2,0x…

Vue2快速入门

Vue 介绍 Vue 是一套构建用户界面的渐进式前端框架只关注视图层&#xff0c;并且非常容易学习&#xff0c;还可以很方便的与其它库或已有项目整合通过尽可能简单的API来实现响应数据的绑定和组合的视图组件特点易用&#xff1a;在有HTML CSS JavaScript的基础上&#xff0c;快速…

拓扑排序(数据结构之图的应用)

我们先搞清楚一个概念&#xff1a; 什么是出度与入度&#xff1f; 在有向图中&#xff0c;箭头是具有方向的&#xff0c;从一个顶点指向另一个顶点&#xff0c;这样一来&#xff0c;每个顶点被指向的箭头个数&#xff0c;就是它的入度。从这个顶点指出去的箭头个数&#xff0c…