关于vue3:记录学习vuenext源码-reactivity

50次阅读

共计 485 个字符,预计需要花费 2 分钟才能阅读完成。

前言:

为了学习 vue-next 源码,我不仅一遍做思维导图,还写了一个 mini-vue 库,该库目前只有 reactivity 局部,在库中还蕴含了相干的流程图等更不便了解原理,对于 runtime-dom 局部网上曾经有相干的 demo 了。

思维导图
mini-vue-reactivity

提出几个疑难:

细节的代码,都曾经在 demo 中做了正文。上面就一起来思考几个问题。
学习就是一个提疑的过程。如果真的想从源码中学习更多的常识,品味代码中的细节也是很有意思的。
一问,为什么 proxy 代理的对象,在拦挡办法中,是用 Reflect 原型拜访对象属性的?

二问,scheduler 的实现,为什么只用 promise 就能够?而 vue2 中却 setTimeout,setimmediate 等?

三问,为什么 watch 的生效函数是通过 runner 函数的参数传入的,而不通过返回 stop 函数的参数传入呢?

四问,组件定义的 watch 到底需不需要咱们手动去 stop 呢?

五问,为什么 scheduler 中要定义前置缓冲队列,同步队列,后缀缓冲队列?

从源码中学到了

优雅的命名

高级函数

weekmap 的正确打开方式

调度的实现

正文完
 0