美文网首页
react虚拟DOM

react虚拟DOM

作者: 参商_70a0 | 来源:发表于2019-10-08 09:56 被阅读0次

    虚拟DOM总的来说就是一个JS对象,用来描述真实的DOM。
    <div id='abc'><span>hello</span></div>
    相当于
    [ ' div ' , { id : ' abc ' } , [ ' span ' , { } , ' hello' ] ]
    性能提升的地方在于,数据改变时,改变js对象
    然后用对比js对象的方式替代对比新旧DOM的方式。

    大致步骤
    1.state数据
    2.JSX模板
    3.数据+模板生成虚拟DOM
    4.根据虚拟DOM生成真实DOM
    5.state改变
    6.数据+模板生成新的虚拟DOM
    7.比较新旧虚拟DOM的区别
    8.直接操作DOM,改变结构

    JSX——>JS对象——>真实的DOM

    diff算法中有一个概念叫同级比较


    image.png

    从顶层开始同层对比,如果一层有差异,则这一层下面几层就不对比了,直接销毁,重新生成。


    image.png
    key的作用其实就是提高虚拟DOM比对的性能

    相关文章

      网友评论

          本文标题:react虚拟DOM

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