Vue 3 ref() 和 reactive()

最近刚接触 Vue 3,就遇到了这个问题,何时用 ref,何时用 reactive?
接着就是一顿胡搜,简单的概括就是最好统一使用同一类,比如你用 reactive 就全部统一好了,或者 ref,尽量不要混在一起

ref 的好处:

  • 在于使用的时候必须通过 .value 去获取值,可以一眼就知道这个是个响应内容
  • 可以直接使用原始值,reactive 还要包一层
  • 可以整个直接替换对象,依旧保持响应式,reactive 重新赋值就失去了
  • ref 其实是 reactive 的再包装,底层也是这个

而官方之所以把 reactive 放出来,根据看群友的讨论,更像是给希望能操作更底层的开发者开放入口,方便调优?

下面的帖子、博文阐述了各自的点,可以看看。

https://stackoverflow.com/questions/71613886/what-are-the-most-important-differences-to-note-between-ref-and-reactive-in-vuej
https://markus.oberlehner.net/blog/vue-3-composition-api-ref-vs-reactive/