1.state 数据

2.JSX模板

3.数据+ 模板 结合,生成真实的DOM,来显示

4.state发生改变

5.数据 + 模板 结合,生成真实的DOM,替换原始的DOM

缺陷:

第一次生成了一个完整的DOM片段

第二次生成了一个完整的DOM片段

第二次的DOM替换第一次的DOM,非常耗性能

1.state 数据

2.JSX模板

3.数据 + 模板 结合,生成真实的DOM,来显示

4.state发生改变

5.数据 + 模板 结合,生成真实的DOM,并不直接替换原始的DOM

6.新的DOM(DocumentFragment)和原始的DOM做对比,找差异

7.找出input框发生了变化

8.只用新的DOM中的input元素,替换掉老的DOM中的input元素

缺陷:

性能的提升并不明显

1.state数据

2.JSX模板

3.数据 + 模板 生成虚拟DOM(虚拟DOM就是一个JS对象,用他来描述真实DOM)   (损耗了性能)

 ['div',{id:'abc'},['span',{},'hello world']]

4.数据 + 模板 结合,生成真实的DOM,来显示

 <div id ='abc'><span>hello world</span></div>

5.state发生变化

6.数据 + 模板 生成新的虚拟DOM   (极大提升了性能)
 ['div',{id:'abc'},['span',{},'baybay']]
7.比较原始虚拟DOM和新的虚拟DOM的区别,找到区别是span中的内容   (极大的提升了性能)
8.直接操作DOM,改变span中的内容
 

1.state数据

2.JSX模板

3.数据 + 模板 生成虚拟DOM(虚拟DOM就是一个JS对象,用他来描述真实DOM)   (损耗了性能)

 ['div',{id:'abc'},['span',{},'hello world']]

4.用虚拟DOM的结构生成真实的DOM,来显示

 <div id ='abc'><span>hello world</span></div>

5.state发生变化

6.数据 + 模板 生成新的虚拟DOM   (极大提升了性能)
 ['div',{id:'abc'},['span',{},'baybay']]
7.比较原始虚拟DOM和新的虚拟DOM的区别,找到区别是span中的内容   (极大的提升了性能)
8.直接操作DOM,改变span中的内容
 

1.state数据

2.JSX模板

3.数据 + 模板 生成虚拟DOM(虚拟DOM就是一个JS对象,用他来描述真实DOM)   (损耗了性能)

 ['div',{id:'abc'},['span',{},'hello world']]

4.用虚拟DOM的结构生成真实的DOM,来显示

 <div id ='abc'><span>hello world</span></div>

5.state发生变化

6.数据 + 模板 生成新的虚拟DOM   (极大提升了性能)
 ['div',{id:'abc'},['span',{},'baybay']]
7.比较原始虚拟DOM和新的虚拟DOM的区别,找到区别是span中的内容   (极大的提升了性能)
8.直接操作DOM,改变span中的内容

优点:

1.性能提升了。

2.使得跨端应用得以实现。React native

 
 

1.React中的虚拟DOM的更多相关文章

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

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

  2. 谈谈Vue/React中的虚拟DOM(vDOM)与Key值

    谈谈Vue/React中的虚拟DOM(vDOM)与Key值 一.DocumentFragment 在了解虚拟DOM前,先来了解DOM的一个对象属性--DocumentFragment. 在一次操作中, ...

  3. 简谈react中的虚拟DOM

    相信你在看到此篇前也翻阅大量的对DOM的文章讲解和介绍 react中的虚拟DOM 此篇我尽量说人话(大白话),不然想必你在看到别的大神的文章早就懂了. 不说废话了,上干货. 1.首先简单对Html中的 ...

  4. React中的虚拟DOM

    当组件当state和props发生变化当时候,组件当render函数就会重新执行,组件就会被重新渲染,react中实现这种重新渲染,他的性能是非常高的,因为他引入了一个虚拟Dom的概念,那么什么是虚拟 ...

  5. [react] 什么是虚拟dom?虚拟dom比操作原生dom要快吗?虚拟dom是如何转变成真实dom并渲染到页面的?

    壹 ❀ 引 虚拟DOM(Virtual DOM)在前端领域也算是老生常谈的话题了,若你了解过vue或者react一定避不开这个话题,因此虚拟DOM也算是面试中常问的一个点,那么通过本文,你将了解到如下 ...

  6. vue中的虚拟DOM树

    什么是虚拟DOM树?(Virtual DOM)   虚拟DOM树其实就是一个普通的js对象,它是用来描述一段HTML片段的    01    当页面渲染的时候Vue会创建一颗虚拟DOM树 02    ...

  7. 【Web技术】401- 在 React 中使用 Shadow DOM

    本文作者:houfeng 1. Shadow DOM 是什么 Shadow DOM 是什么?我们先来打开 Chrome 的 DevTool,并在 'Settings -> Preferences ...

  8. react 什么是虚拟DOM?深入了解虚拟DOM

    底层的理论基础 一. 原始生成步骤 1.state 数据 2.jsx 模版 3.数据 + 模板 结合,生成真实的DOM,来显示 4.state 发生改变了 5.数据 + 模板 结合,生成真实的DOM, ...

  9. 详解Vue中的虚拟DOM

    摘要: 什么是虚拟DOM? 作者:浪里行舟 Fundebug经授权转载,版权归原作者所有. 前言 Vue.js 2.0引入Virtual DOM,比Vue.js 1.0的初始渲染速度提升了2-4倍,并 ...

随机推荐

  1. 二叉堆的应用——查找长度为N数组中第M大数

    看到这个题目首先想到是排序,那么时间复杂度自然就是O(NlgN).那么使用二叉堆如何解决呢? 对于下面一个数组,共有12个元素,我们的目标就是找出第5大元素——12 首先建立一个具有M个元素的最小堆, ...

  2. Gym - 102028H Can You Solve the Harder Problem? (后缀数组+RMQ+单调栈)

    题意:求一个序列中本质不同的连续子序列的最大值之和. 由于要求“本质不同”,所以后缀数组就派上用场了,可以从小到大枚举每个后缀,对于每个sa[i],从sa[i]+ht[i]开始枚举(ht[0]=0), ...

  3. 前端知识体系:JavaScript基础-原型和原型链-理解原型设计模式以及 JavaScript中的原型规则

    理解原型设计模式以及 JavaScript中的原型规则(原文地址) 1.原型对象:我们创建的每一个函数(JavaScript中函数也是一个对象)都有一个原型属性 prototype,原型属性实质上是一 ...

  4. windows下C语言头文件的运用

    头文件 singnext.dingswords printf("终止我每丝呼吸,让心灵穿透所有的秘密\n"); 头文件 singtocj.h printf("当无数的日月 ...

  5. Codeforces Round #588 (Div. 2) D. Marcin and Training Camp(思维)

    链接: https://codeforces.com/contest/1230/problem/D 题意: Marcin is a coach in his university. There are ...

  6. 富文本编辑器复制粘贴word

    tinymce是很优秀的一款富文本编辑器,可以去官网下载.https://www.tiny.cloud 这里分享的是它官网的一个收费插件powerpaste的旧版本源码,但也不影响功能使用. http ...

  7. JSP大文件分片上传

    核心原理: 该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. * 如何分片: * 如何合成一个文件: * 中断了从哪个分片开 ...

  8. Linux之静态库

    命名规则: lib + 库的名字 + .a 制作步骤 生成对应.o文件  .c à .o 将生成的.o文件打包   ar rcs + 静态库的名字(libMytest.a) + 生成的所有的.o 发布 ...

  9. jenkins+Maven从SVN上构建项目

    一.安装Maven 下载地址:https://maven.apache.org/download.cgi 把下载的安装包解压 tar -xvf apache-maven--bin.tar.gz 配置环 ...

  10. [NLP-CNN] Convolutional Neural Networks for Sentence Classification -2014-EMNLP

    1. Overview 本文将CNN用于句子分类任务 (1) 使用静态vector + CNN即可取得很好的效果:=> 这表明预训练的vector是universal的特征提取器,可以被用于多种 ...