美文网首页程序员
ReactJS中的虚拟DOM

ReactJS中的虚拟DOM

作者: 恍若如梦hzpeng | 来源:发表于2018-11-21 10:11 被阅读56次

ReactJS是一套用于构建用户界面的JS库,13年5月开源,到现在已经更新到了16这个版本。React的一个特点就是性能很高,这得益于它引入了虚拟DOM的概念。

ReactJS

DOM(Document Object Model)文档对象模型就是页面上的元素节点,jQuery和原生JS是命令式的开发,需要我们一步步自己对DOM进行增删改查。可能一半的代码都在操作DOM,而React则不同。
ReactJS是声明式开发。它有响应式的设计,我们定义好数据和模板,React会自动帮我们渲染DOM,我们只需要改变数据它就会帮我们改变DOM。大多数情况下不需要而且也不推荐我们直接操作DOM。

虚拟DOM

加入我们定义好了模板和数据,React会自动的帮我们渲染出DOM结构,这很好。但是当我们改变数据的时候,React就会再一次的渲染,这好像没什么问题,但是要知道,js对DOM的操作是很耗费性能的。有时候我们只改了一小部分,如果全部进行重新渲染,在性能上是极大的浪费。所以React引入了虚拟DOM的概念。
虚拟DOM其实就是JS中的一个对象,他是根据数据和模板生成的对象,包含了整个DOM结构。

['div', {id: "id"}, ['p', {class: 'article', 'hello world'}]]

上面代码就相当于一个虚拟的DOM,div里面有个p标签,p标签里面写了hello world,当然也包含元素上的各个属性。
有了虚拟DOM后,当我们改变数据,React会根据当前的数据和模板生成一个虚拟DOM,然后和上一次生成的虚拟DOM进行比对,找出差异,然后根据差异对DOM进行渲染,当然它不会重新渲染,只会渲染被改变的部分。而虚拟DOM只是JS里面的一个对象,JS对对象的操作是非常快的。所以这种方式极大的提高了性能。

阿里云领红包

相关文章

  • ReactJS中的虚拟DOM

    ReactJS是一套用于构建用户界面的JS库,13年5月开源,到现在已经更新到了16这个版本。React的一个特点...

  • Reactjs 踏坑指南1: 一些概念

    Reactjs 踏坑指南1: 知识点 什么是React 虚拟DOM JSX 组件 生命周期和状态 事件 单项数据流...

  • vue 2022经典面试题汇总

    1、虚拟DOM中key的作用: 2、key的对比规则: 若虚拟DOM中内容没变,直接使用之前的真实DOM 若虚拟D...

  • 深入理解react中的虚拟DOM、diff算法

    文章结构: React中的虚拟DOM是什么? 虚拟DOM的简单实现(diff算法) 虚拟DOM的内部工作原理 Re...

  • ReactJs中获取dom元素

    使用传统的React语法 this.mydom = React.createRef() 创建一个变量 ref={k...

  • react解析html

    https://reactjs.org/docs/dom-elements.html

  • ReactJS中的DOM diff算法

    翻译自:https://calendar.perfplanet.com/2013/diff/万分感谢Christo...

  • React 虚拟DOM详解

    什么是虚拟DOM react 中的 virtual DOM (虚拟DOM),其实就是JS对象。 众所周知,浏览器的...

  • 简单模拟虚拟dom

    虚拟dom是现在前端非常重要的一个技术,这篇文章试着简单模拟一下虚拟dom功能。虚拟dom比较内存中虚拟dom的差...

  • react的设计思想

    1.Virtual DOM(虚拟dom) 为什么要使用虚拟dom呢1.dom渲染在渲染中是最昂贵的,尽量减少dom...

网友评论

    本文标题:ReactJS中的虚拟DOM

    本文链接:https://www.haomeiwen.com/subject/wcrqqqtx.html