2024-05-14 19:30:41
使用 Vue 也有一段时间了,平时写业务更多是在使用 ref、reactive、computed、watch 这些 API,但对它们背后的运行机制并没有真正进行拆解。
最近看了托尼的这篇文章:《import { reactive } from 'vue'》,里面提到在 Vue 3 中,
computed
和 watch 本质上都是基于 effect 的封装。如果搞清楚了 effet 那再看其他的响应式 API, 不就 so easy 了嘛
所以准备新建一个系列, 从简化版的响应式开始, 实现依赖收集、触发和 effect 的行为。通过梳理核心流程, 彻底明白以下事情
- 数据改变时,为什么会同步更新
computedwatch为什么能建立在effect上effecat是什么