
获得徽章 0
- 我们知道 Vue3 的 composition 用法,有 ref 和 reactive
但是,个人建议,开发的时候最好只用 ref,并将其视为响应式对象
为何如此?
ref 支持的数据结构比 reactive 多得多
computed,toRef,toRefs,shallowRef,triggerRef,customRef,这些 API 的返回值全是 Ref 类型,而这些 API 基本上覆盖率:传递,调度控制,扩展三大方面,复用性比 reactive 强得多得多
ref 无法避免使用,而模板会自动解包,为了防止传递中出现ref嵌套,reactive获取失败等问题,直接使用ref,并将其想象成属性value的对象,能大大减少心智负担
使用 shallowRef 时,value下访问数据可响应,更加直观
由于 proxy 的存在,在开发过程中,我们可以直接使用 ref,修改它的任意层级,不用担心性能和可变性问题
可能有人要问,为啥不用担心不变性?
因为 proxy 本身就是用来保证不变性的,它的每次变更,都可以被捕获到
所以,开发的时候只考虑 ref,你会获得非常好的开发体验~展开赞过21 - 有些时候真的被React程序员震惊到了…
最早商业化的React果然是名教最严重的地方,什么render一万个组件不卡,什么做了浏览器做的事,什么fiber巨大革新之类的…
简直群魔乱舞…评论点赞