引言
在2022年年初自己花了2个多月时间学习vue源码,并自己学习实现minivue核心功能,看到自己掘金很久没写文章还是分享下,也算个成长,内容包括以下
- reactive
- ref
- readonly
- isReactive、isReadonly、isProxy
- component整个核心流程讲解
- computed
- 组件代理对象
- 实现注册事件功能
- props
- 组件更新流程
- diff算法
- nextTick
- Provide inject
总结
大概就这些,其实vue3相比vue2核心思想并没有改变,例如依赖收集与派发更新,很多东西看似复杂其实很简单,而且从实现上考虑到最优解决方案
例如Provide inject当初如果让我来实现可能我是用map进行收集,而vue完全基于原型链实现,既简单又高效 我发这个文章一个是为了分享,另外就是希望多多讨论下我写的不足,我对文章没什么经验大家可以指出来。
我个人觉得无论使用Vue3组合式还是SFC语法糖,和reactHooks最根本区别在于,vue3秉承的并不是原生hooks思想,vue3编写的代码还是面向于函数组合,有状态的hooks