美文网首页
6.React中的虚拟DOM及Diff算法 19-04-18

6.React中的虚拟DOM及Diff算法 19-04-18

作者: 你坤儿姐 | 来源:发表于2019-04-18 14:13 被阅读0次

1.state 数据
2.JSX 模板
3.数据 + 模板 结合,生成真实DOM,来显示
4.state 发生改变
5.数据 + 模板 结合,生成真实的DOM,替换原始的DOM
缺陷:
第一次生成一个完整的DOM片段
第二次生成一个完整的DOM片段
第一次的DOM替换第一次的DOM,非常耗性能

1.state 数据
2.JSX 模板
3.数据 + 模板 结合,生成真实DO,来显示
4.state 发生改变
5.数据 + 模板 结合,生成真实的DOM,并不直接替换原始的DOM
6.新的DOM和原始DOM做比对,找差异
7.找出input框中发生的变化
8.用新的DOM中的input元素,替换掉老的DOM中的input元素
缺陷:
性能提升并不明显。

1.state 数据
2.JSX 模板
3.数据 + 模板 结合,生成真实DOM,来显示
<div id='abc'><span>hello world</span></div>
4.生成虚拟DOM(虚拟DOM就是一个JS对象,用它来描述真实DOM)
[ 'div' , { id: 'abc' }, ['span', { }, ' hello world '] ]
5.state 发生变化
6.生成新的虚拟DOM
['div' , { id: 'abc' } , ['span' , { }, 'bye bye'] ]
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' , { }, 'bye bye'] ]
7.比较原始虚拟DOM和新的虚拟DOM的区别,找到的区别是span中的内容(极大的性能提升)
8.直接操作DOM,改变span中的内容

优点:
1.性能提升了。
它使得跨端应用得以实现。React Native

Diff算法
在第7步当中
7.比较原始虚拟DOM和新的虚拟DOM的区别,找到的区别是span中的内容(极大的性能提升)
js的比对方式 就叫做Diff算法,Diff全称叫做 Difference

相关文章

  • 6.React中的虚拟DOM及Diff算法 19-04-18

    1.state 数据2.JSX 模板3.数据 + 模板 结合,生成真实DOM,来显示4.state 发生改变5.数...

  • 第十七天

    1.你怎么理解vue中的diff算法? diff算法是虚拟DOM技术的必然产物:通过新旧虚拟DOM作对比(即dif...

  • 虚拟dom和diff算法

    虚拟DOM和diff算法 diff:精细化比对最小量更新 真实DOM和虚拟DOM 虚拟DOM:用JavaScrip...

  • react VS Vue diff算法

    react diff diff算法的作用:数据更改,生成相应的虚拟DOM,与真实DOM作对比,通过diff算法,对...

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

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

  • Diff 算法、key

    概念 DOM diff 就是对比两棵虚拟 DOM 树的算法。当组件变化时,会得到一个新的虚拟 DOM,diff 算...

  • 理解vue2.x之diff算法

    了解diff算法前,应该先了解虚拟DOM(VNode),在vue中是先创建VNode,再通过diff算法看哪个节点...

  • 虚拟DOM及diff算法

    一、虚拟DOM 1、JSX 是一种看起来非常像 HTML 的 JavaScript 语法的扩展,React 使用它...

  • 基于React理解虚拟DOM(Virtual DOM)和Diff

    我在之前的文章《虚拟DOM(Virtual DOM)中动态更新视图的diff算法》中,基于vue描述Virtual...

  • 第五天

    1、详述虚拟DOM中的diff算法? 1.用js对象模拟DOM树 2.比较两颗虚拟dom树的差异 3....

网友评论

      本文标题:6.React中的虚拟DOM及Diff算法 19-04-18

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