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

这篇“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的原因是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注创新互联行业资讯频道。

网站名称:react引入虚拟dom的原因是什么
URL分享:https://www.cdcxhl.com/article10/jhsggo.html

成都网站建设公司_创新互联,为您提供建站公司关键词优化静态网站外贸网站建设搜索引擎优化网站设计公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营