vue3 diff源码梳理学习笔记

1、只比较同层

2、双端比较

3、判断流程

1、先判断是否是首次渲染;

2、vnode oldvnode 指向同一个对象?

3、oldvnode dom 关联到真实的元素上,依次更新dom上的属性,class style props events;

4、针对简单的文本节点 只需要更新文本内容

5、oldVnode 有子节点,vnode 没有子节点,直接删除oldVnode下的子节点

6、oldVnode 没有子节点,vnode有子节点,直接更新oldVnode下增加子节点

7、oldVnode vnode 都有子节点,则进行子节点对比。

4、patchVnode核心逻辑

1、先比较key,根据 头头,尾尾,头尾,尾头,四种比较类型;当key相同的时候,就进入比较;

相关推荐
释怀不想释怀4 小时前
Ajax,vue生命周期(自动加载页面发出请求)Axios
前端·javascript·ajax
一点晖光4 小时前
ios底部按钮被挡住
前端·ios·微信小程序
cz追天之路10 小时前
华为机考--- 字符串最后一个单词的长度
javascript·css·华为·less
半桶水专家10 小时前
go语言中的结构体嵌入详解
开发语言·后端·golang
Light6011 小时前
CSS逻辑革命:原生if()函数如何重塑我们的样式编写思维
前端·css·响应式设计·组件化开发·css if函数·声明式ui·现代css
蜡笔小嘟11 小时前
宝塔安装dify,更新最新版本--代码版
前端·ai编程·dify
在屏幕前出油11 小时前
二、Python面向对象编程基础——理解self
开发语言·python
阿方索12 小时前
python文件与数据格式化
开发语言·python
ModyQyW12 小时前
HBuilderX 4.87 无法正常读取 macOS 环境配置的解决方案
前端·uni-app
bitbitDown12 小时前
我的2025年终总结
前端