vue 的更新过程和 diff 算法
前言
vue 中的 diff 算法是基于 vnode 实现的,vnode 简单来说就是将 dom 结构用 js 对象来表示,方便我们进行处理。
vnode 的部分属性如下:
export interface VNode {
type: VNodeTypes // VNode 类型
props: VNodeProps | null
key: string | number | null // 用于 diff
children: VNodeChildren // 子节点
// 性能优化
shapeFlag: number
patchFlag: number
}