Vue3中的响应式API:reactive和ref
你是否知道,在Vue3中有两个非常常用的响应式API:reactive和ref,他们使得我们可以方便地把想追踪的数据变成响应式。

在使用上我们一直被告知ref用于创建基础类型的响应式,也可以创建引用类型的响应式。而对于引用类型,底层也是转换为reactive来进行响应式处理。那么既然这样,为什么还需要reactive呢?难道有什么场景是reactive能做而ref做不了的吗?
简单了解ref&reactive
简单来说,在Vue3中reactive函数返回的是对象的响应式副本,响应式转换是“深层”的——它会影响所有嵌套property,以对象为参数的ref内部也是使用reactive方法创建的proxy对象。
虽然ref创建的响应式数据在脚本中需要通过.value才能访问到,但在模板中会自动添加上.value,所以模板中不需要通过.value访问,也就是ref能做的reactive都能做。
ref能做,但是reactive不能做
但是reactive不支持对基本类型数据响应式,也就是说基本类型数据不能直接作为reactive的参数来使用,而ref却可以直接创建基础类型的响应式。因此,在Vue3中,ref在reactive上进行了封装并增强了其能力,ref能做的,reactive也能做,但是反之不行。
总结来说就是,Vue3中没有reactive能做而ref做不了的场景,ref在reactive上进行了封装,因此在Vue3中reactive能做的,ref也能做,reactive不能做的,ref也能做。
通过多多交流,我们能够学习到更多的知识。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/7375.html
