Vue3源码:ref响应式原理

Vue3源码:ref响应式原理

在createApp中,传入的rootComponent是一个和选项式API不同的参数,也就是setupref原理RefImpl实例化响应式变量组合式和选项式的差异就是,组合式在代码编译过程成进行响应化构建,选项式直接传入data“选项”进行构建,可以看到本质上ref的响应初始化还是通过rea...

2024年12月13日
291字

在createApp中,传入的rootComponent是一个和选项式API不同的参数,也就是setup

ref原理

RefImpl实例化响应式变量


组合式和选项式的差异就是,组合式在代码编译过程成进行响应化构建,选项式直接传入data“选项”进行构建,

可以看到本质上ref的响应初始化还是通过reactive来执行的(可以回到这篇文章看reactive的响应化原理:https://www.yuque.com/wztlink1013/blog/iy7gxmvmskcnwupd

  • 在Reactive中,也不是一股脑进行响应式构建,而是通过判断是否为对象,再决定是否需要用reactive进行响应化。所以这是为什么推荐如果是非对象数据结构用ref,对象数据结构用reactive的原因。

  • 但是用ref使用比reactive方便的原因是其自身对get和set的判断用法,可以看到在set方法中,还能看到toReactive的判断执行

  • ref需要通过后缀.value是因为不管访问还是设置,只有对其属性操作才能触发get和set






文章评论区

欢迎留言交流

未登录,请先注册或登录后发表评论。

Leave comment