响应式

这篇文章已经发布超过一年了,内容可能已经过时,请谨慎参考。

响应式

learn/vue3

响应式基础

  1. 声明响应式状态​ ref()
特性refreactive
数据类型支持所有类型仅支持对象/数组
访问方式通过 .value 访问直接访问属性
模板自动解包在模板中自动解包(无需 .value)始终直接访问属性
重新赋值允许重新赋值整个对象不能直接替换整个对象
深层响应性自动深度响应自动深度响应
解包行为嵌套在对象中时需 .value 访问嵌套的 ref 自动解包
适用场景基本类型、需要重新赋值的变量复杂对象、不需要替换整个对象时
TypeScript 支持明确的类型推断可能丢失部分类型提示
响应式丢失问题无(通过 .value 保持响应)解构或重新赋值时可能丢失响应性
典型用法const num = ref(0)const state = reactive({…})
数组处理需要 .value 操作数组方法直接使用原生数组方法
与计算属性配合常与 computed 一起使用常与 toRefs 配合解构