当前位置 : 主页 > 网络编程 > JavaScript >

Vue3 Reactive响应式原理逻辑详解

来源:互联网 收集:自由互联 发布时间:2023-02-08
目录 前言 一、怎么实现变量变化 二、怎么实现变量变化 三、将多个dep存储在Map中 四、将多个object的depsMap继续存储起来 五、核心 六、源码解析(TypeScript) 前言 本篇文章主要讲解
目录
  • 前言
  • 一、怎么实现变量变化
  • 二、怎么实现变量变化
  • 三、将多个dep存储在Map中
  • 四、将多个object的depsMap继续存储起来
  • 五、核心
  • 六、源码解析(TypeScript)

前言

本篇文章主要讲解vue响应式原理的逻辑,也就是vue怎么从最开始一步步推导出响应式的结构框架。 先从头构建一个简单函数推导出Vue3的Reactive原理,最后再进行源码的验证。

一、怎么实现变量变化

怎么实现变量变化,相关依赖的结果也跟着变化

 当原本price=5变为price=20total应该变为40,但是实际total并不会改变。 解决办法可以这样,当变量改变了,重新计算一次,那么结果就会改变为最新的结果。

如果需要重新计算,我们需要将total语句存储为一个函数,才能实现依赖的变量改变就进行一次依赖项计算。这里就用effect表示函数名。

来,试一下:

 

网友评论