目录 前言 一、怎么实现变量变化 二、怎么实现变量变化 三、将多个dep存储在Map中 四、将多个object的depsMap继续存储起来 五、核心 六、源码解析(TypeScript) 前言 本篇文章主要讲解
目录
- 前言
- 一、怎么实现变量变化
- 二、怎么实现变量变化
- 三、将多个dep存储在Map中
- 四、将多个object的depsMap继续存储起来
- 五、核心
- 六、源码解析(TypeScript)
前言
本篇文章主要讲解vue
响应式原理的逻辑,也就是vue
怎么从最开始一步步推导出响应式的结构框架。 先从头构建一个简单函数推导出Vue3的Reactive原理,最后再进行源码的验证。
一、怎么实现变量变化
怎么实现变量变化,相关依赖的结果也跟着变化
当原本price=5
变为price=20
后total
应该变为40
,但是实际total
并不会改变。 解决办法可以这样,当变量改变了,重新计算一次,那么结果就会改变为最新的结果。
如果需要重新计算,我们需要将total
语句存储为一个函数,才能实现依赖的变量改变就进行一次依赖项计算。这里就用effect
表示函数名。
来,试一下: