广告
返回顶部
首页 > 资讯 > 前端开发 > html >react引入虚拟dom的原因是什么
  • 407
分享到

react引入虚拟dom的原因是什么

2024-04-02 19:04:59 407人浏览 安东尼
摘要

这篇“React引入虚拟dom的原因是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“r

这篇“React引入虚拟dom的原因是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“react引入虚拟dom的原因是什么”文章吧。

因为在react中会出现定义大量实际dom的情况,需要频繁的操作大量实际dom,这样会带来访问性能的严重下降,所以需要引入虚拟dom,避免频繁的dom操作带来的性能下降问题,虚拟dom可以更好地提升页面性能。

教程操作环境:windows10系统、react16.4.0版、Dell G3电脑。

react为什么要引入虚拟dom

React框架的核心之一就是虚拟DOM,相对于实际DOM而言,虚拟DOM可以更好地提升页面性能。

为什么要使用虚拟DOM?

通常设计人员在设计传统html网页的UI时, 都会在页面中定义若干的DOM元素, 这些DOM元素是所谓的实际DOM。实际DOM负责承载着外观表现和数据变化,任何外观形式的改变或数据信息的更新都要反馈到UI上, 都是需要通过操作实际DOM来实现的。但对于复杂的页面UI而言, 往往会定义大量的实际DOM。频繁地操作大量实际DOM, 往往会带来访问性能的严重下降, 用户体验也会随之变差, 因此, React框架专门针对这个现象引入了虚拟DOM机制,以避免频繁的DOM操作带来的性能下降问题。

React DOM类似于一种将相关的实际DOM组合在一起的集合, 是有区别于传统概念上的DOM元素的,如果将其理解为DOM组件应该更为贴切,所以React框架将ReactDOM称为虚拟DOM。

创建虚拟DOM

js方式 React.createElement('h2',{},title)

JSX方式 <h2 id='myTitle'>{title}</h2>

下面感受一下实际DOM和虚拟DOM书写的区别

实际DOM

    <div id="example"></div>
    <script>
    // 实际DOM
        // 定位到div
        const divDOM = document.getElementById('example');
        // 创建DOM控件
        const jsSpan = document.createElement('span');
        const jsH3 = document.createElement('h4');
        jsH3.innerHTML = '实际DOM';
        const jsP = document.createElement('p');
        jsP.innerHTML = 'Hello World!';
        jsSpan.appendChild(jsH3);
        jsSpan.appendChild(jsP);
        divDOM.appendChild(jsSpan);
    </script>

虚拟DOM

在使用React框架之前需要提前导入React的js库

    <!-- react的核心库 -->
    <script src="../React/react.development.js"></script>
    <!-- react的DOM库 -->
    <script src="../React/react-dom.development.js"></script>
    <!-- 编译器 将es6转换为ES5 -->
    <script src="../React/babel.min.js"></script>
    <div id="example"></div>
    <script type="text/babel">// type必须有
    // 虚拟DOM
        const divReact = document.getElementById('example');
        const reactH3 = React.createElement('h4',{},'虚拟DOM');
        const reactP = React.createElement('p',{},'Hello World!');
        const reactSpan = React.createElement('span',{},reactH3,reactP);
        ReactDOM.render(reactSpan,divReact);// 将reactSpan插入divReact
    </script>

以上就是关于“react引入虚拟dom的原因是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网html频道。

--结束END--

本文标题: react引入虚拟dom的原因是什么

本文链接: https://www.lsjlt.com/news/97663.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • react引入虚拟dom的原因是什么
    这篇“react引入虚拟dom的原因是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“r...
    99+
    2022-10-19
  • react虚拟dom的作用是什么
    这篇文章主要介绍“react虚拟dom的作用是什么”,在日常操作中,相信很多人在react虚拟dom的作用是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”react虚拟d...
    99+
    2022-10-19
  • 虚拟主机突然暂停的原因是什么
    虚拟主机突然暂停的原因有:1.资源使用超限,内存、流量限制等;2.遭遇攻击,木马、黑链;3.流量异常,出现海量垃圾广告信息;4.续费不及时,到期未及时续费;具体法如下:资源使用超限虚拟主机资源限制主要包括CUP资源,网站文件数量即空间大小,...
    99+
    2022-10-08
  • react不是mvvm框架的原因是什么
    这篇“react不是mvvm框架的原因是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“...
    99+
    2022-10-19
  • react中使用node的原因是什么
    这篇文章主要讲解了“react中使用node的原因是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“react中使用node的原因是什么”吧! ...
    99+
    2022-10-19
  • Vue中简单的虚拟DOM是什么样
    目录1. 一个简单的虚拟DOM长什么样2. Vue中的虚拟DOM长什么样3. Vue中的虚拟DOM实现4. createTextVNode1. 一个简单的虚拟DOM长什么样 其实当今...
    99+
    2022-11-13
    Vue虚拟DOM Vue DOM
  • 索引失效的原因是什么
    本篇内容主要讲解“索引失效的原因是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“索引失效的原因是什么”吧!MySQL数据是如何存储的聚集索引我们先建如下的一...
    99+
    2022-10-18
  • es6引用let的原因是什么
    这篇文章主要讲解了“es6引用let的原因是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“es6引用let的原因是什么”吧! ...
    99+
    2022-10-19
  • mysql索引快的原因是什么
    本篇内容主要讲解“mysql索引快的原因是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql索引快的原因是什么”吧! 索引...
    99+
    2023-04-14
    mysql
  • Vue中动态引入图片要require的原因是什么
    这篇“Vue中动态引入图片要require的原因是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue中动态引入图片要r...
    99+
    2023-07-04
  • react中引入css的方式是什么
    这篇“react中引入css的方式是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“react中引入css的方式是什么”文...
    99+
    2023-06-30
  • MySQL的索引机制原因是什么
    MySQL的索引机制原因是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。      ...
    99+
    2022-10-18
  • mongoDB中加索引的原因是什么
    本篇文章给大家分享的是有关mongoDB中加索引的原因是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。为集合加索引mongodb支持内嵌属...
    99+
    2022-10-18
  • MySQL选错索引的原因是什么
    本篇内容介绍了“MySQL选错索引的原因是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.引例首先创建一张表,并对字段a,b分别建立索...
    99+
    2023-07-05
  • react要用合成事件的原因是什么
    本文小编为大家详细介绍“react要用合成事件的原因是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“react要用合成事件的原因是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新...
    99+
    2022-10-19
  • react推荐函数组件的原因是什么
    这篇文章主要讲解了“react推荐函数组件的原因是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“react推荐函数组件的原因是什么”吧!原因:1、函数组件语法更短、更简单,这使得它更容易...
    99+
    2023-07-04
  • xp系统不能安装虚拟打印机的原因是什么
    今天就跟大家聊聊有关xp系统不能安装虚拟打印机的原因是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。虚拟打印机并不是客观上存在的打印机,而是用来生成PS文件的虚拟打印机。客观上存...
    99+
    2023-06-14
  • vue动态引入图片要使用require的原因是什么
    这篇文章主要讲解了“vue动态引入图片要使用require的原因是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue动态引入图片要使用require的原因是什么”吧!1.什么是静态资源...
    99+
    2023-07-04
  • Vue $nextTick能获取到最新Dom的原因是什么
    这篇文章主要介绍“Vue $nextTick能获取到最新Dom的原因是什么”,在日常操作中,相信很多人在Vue $nextTick能获取到最新Dom的原因是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法...
    99+
    2023-07-04
  • Java8接口中引入default关键字的本质原因是什么
    Java8接口中引入default关键字的本质原因是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。接口的常规实现方式熟悉java接口的同学都知道,接口被某些类实现后,一...
    99+
    2023-06-26
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作