码迷,mamicode.com
首页 > 其他好文 > 详细

03/09-虚拟DOM

时间:2019-10-11 12:15:38      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:内容   abc   结合   缺陷   bye   一个   stat   操作   显示   

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

03/09-虚拟DOM

标签:内容   abc   结合   缺陷   bye   一个   stat   操作   显示   

原文地址:https://www.cnblogs.com/lucy-xyy/p/11653102.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!