前言:
为了学习vue-next源码,我不仅一遍做思维导图,还写了一个mini-vue库,该库目前只有reactivity部分,在库中还包含了相关的流程图等更方便理解原理,关于runtime-dom部分网上已经有相关的demo了。
提出几个疑问:
细节的代码,都已经在demo中做了注释。下面就一起来思考几个问题。
学习就是一个提疑的过程。如果真的想从源码中学习更多的知识,品尝代码中的细节也是很有意思的。
一问,为什么proxy代理的对象,在拦截方法中,是用Reflect原型访问对象属性的?
二问,scheduler的实现,为什么只用promise就可以?而vue2中却setTimeout,setimmediate等?
三问,为什么watch的失效函数是通过runner函数的参数传入的,而不通过返回stop函数的参数传入呢?
四问,组件定义的watch究竟需不需要我们手动去stop呢?
五问,为什么scheduler中要定义前置缓冲队列,同步队列,后缀缓冲队列?
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。