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相同的时候,就进入比较;

相关推荐
程序员zgh1 分钟前
C++ 拷贝赋值运算符 详解
c语言·开发语言·c++
北斗落凡尘2 分钟前
React面试题
前端
张元清3 分钟前
React useDisclosure Hook:管理模态框和抽屉的打开关闭状态 (2026)
javascript·react.js
念何架构之路5 分钟前
restartmanager-重启管理子系统
java·开发语言
一棵白菜25 分钟前
mac 部署 n8n
前端
学高数就犯困27 分钟前
React:常见的性能优化手段
前端·react.js
天天码行空28 分钟前
vkeyboardhand:零依赖虚拟键盘指法组件
前端·javascript·vue.js
东方小月28 分钟前
从零开发一个 Coding Agent(五):使用 TypeBox 校验工具参数
前端·人工智能·后端
我要两颗404西柚39 分钟前
Stage four:VUE项目上线
前端·javascript·vue.js
尤乐娃子44 分钟前
进入大厂(厂子大)实习Day8
前端·笔记·实习