1. const { reactive, effect } = VueObserver
  2. const origin = {
  3. count: 0
  4. }
  5. # 1. 将数据代理变为响应式数据
  6. const state = reactive(origin)
  7. # 2. 依赖响应式数据的 动作:Dep依赖
  8. const fn = () => {
  9. const count = state.count
  10. console.log(`set count to ${count}`)
  11. }
  12. effect(fn) // 用effect包裹一下
  13. # 3. 修改data,可以看到fn被执行
  14. 控制台执行 state.count++
  15. 输出 set count to 1

vue3的响应式原理

vue3响应式

参考

ssh_为什么说 Vue 的响应式更新精确到组件级别?(原理深度解析)
一张图理清 Vue 3.0 的响应式系统