了解Diff算法和虚拟Dom吗?

目录

1.原理

2.步骤


1.原理

        虚拟Dom:相对于浏览器的真实DOM所渲染出来的一个用来描述真实DOM结构的JS对象

        如果组件内有相应的数据,数据发生改变时,render函数会生成一个新的虚拟Dom,这个新的虚拟Dom会和旧的虚拟Dom进行比对,找到需要修改的虚拟Dom的内容,然后去对应的真实Dom中修改。

        Diff算法:比较新旧虚拟DOM节点,并返回一个patch对象(作用:储存两个节点不同的地方),最后用patch里记录的信息更新真实DOM。

2.步骤

        1.Js对象表示真实的Dom结构,要生成一个虚拟Dom,再用虚拟Dom构建一个真实的Dom数,渲染到页面。

        2.状态改变生成新的虚拟Dom,将新的虚拟Dom和旧的虚拟Dom进行对比,这个过程就是Diff算法,利用patch记录差异。

        3.将记录的差异用在第一个虚拟Dom的真实Dom上,视图就更新了。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值