首页 > 其他 > 详细

03/09-虚拟DOM

时间:2019-10-11 13:25:51      阅读:85      评论:0      收藏:0      [点我收藏+]
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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!