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

相关推荐
阿Y加油吧1 分钟前
回溯法经典难题:N 皇后问题 深度解析 + 二分查找入门(搜索插入位置)
开发语言·python
李小枫6 分钟前
webflux接收application/x-www-form-urlencoded参数
android·java·开发语言
沐知全栈开发11 分钟前
NumPy 字节交换
开发语言
0vvv014 分钟前
2026-NCTF-web-N-RustPICA
前端·ctf
前进的李工15 分钟前
MySQL角色管理:权限控制全攻略
前端·javascript·数据库·mysql
芯智工坊15 分钟前
第13章 Mosquitto监控与日志管理
前端·网络·人工智能·mqtt·开源
NPE~23 分钟前
[App逆向]环境搭建下篇 — — 逆向源码+hook实战
android·javascript·python·教程·逆向·hook·逆向分析
夜珀24 分钟前
OpenTiny NEXT 从入门到精通·第 2 篇
开发语言·前端框架
洒满阳光的庄园30 分钟前
Electron 桌面端打包流程说明
前端·javascript·electron
sg_knight44 分钟前
如何实现“秒传”与“断点续传”?MinIO + Java 实战进阶篇
java·开发语言·文件管理·minio·ftp·oss·文件传输