主题
Vue3 原理与源码
响应式、调度器、渲染器、Diff、编译器、组件实例和内置组件机制。
本章内容
- Vue3 的 reactive、ref 为什么基于 Proxy 和 getter/setter?
- Vue3 响应式系统如何完成依赖收集和触发更新?
- computed、watch 和 watchEffect 在 Vue3 内部有什么区别?
- Vue3 的 effectScope 解决了什么问题?它和组件生命周期如何协作?
- Vue3 scheduler 如何合并更新、控制 flush 时机和避免重复执行?
- Vue3 渲染器从 render effect 到真实 DOM patch 经历了什么?
- Vue 2 和 Vue 3 有哪些区别?Vue 3 有哪些更新?
- Vue3 keyed diff 的核心流程是什么?为什么会有最长递增子序列?
- Vue 3 的设计目标是什么?在设计过程中做了哪些优化?
- Vue 3 性能提升主要体现在哪些方面?
- Vue3 模板编译器的 parse、transform、codegen 分别做什么?
- Vue3 的 Patch Flags、静态提升和 Block Tree 如何协同优化更新?
- Vue3 组件实例是如何创建的?setup、render effect 和生命周期如何衔接?
- Vue3 slots 在编译和运行时是如何实现的?为什么 slot 内容由父组件作用域渲染?
- Vue3 的 v-model 在组件上是如何从编译器变成 props 和 emits 的?
- KeepAlive 的缓存原理是什么?include、exclude 和 max 如何影响组件生命周期?
- Teleport 的实现原理是什么?它为什么能改变 DOM 位置但不改变组件逻辑关系?
- Suspense 如何协调 async setup、异步组件和 fallback?生产中有哪些边界?
- script setup、defineProps、defineEmits 等 Vue3 编译宏是如何工作的?