2024-05-23 13:21:32
33阅读
声明响应式状态
- 1、ref()
- 2、reactive()
ref()响应式状态
- 在组合式 API 中,推荐使用 ref() 函数来声明响应式状态:
import { ref } from 'vue'
const count = ref(0)
reactive()响应式状态
- 还有另一种声明响应式状态的方式,即使用 reactive() API。与将内部值包装在特殊对象中的 ref 不同,reactive() 将使对象本身具有响应性:
import { reactive } from 'vue'
const state = reactive({ count: 0 })
reactive() 的局限性
- 1、 有限的值类型:它只能用于对象类型 (对象、数组和如
Map、Set
这样的集合类型)。它不能持有如 string、number 或 boolean
这样的原始类型。
- 2、不能替换整个对象:由于 Vue 的响应式跟踪是通过属性访问实现的,因此我们必须始终保持对响应式对象的相同引用。这意味着我们不能轻易地“替换”响应式对象,因为这样的话与第一个引用的响应性连接将丢失:
let state = reactive({ count: 0 })
state = reactive({ count: 1 })
- 3、对解构操作不友好:当我们将响应式对象的原始类型属性解构为本地变量时,或者将该属性传递给函数时,我们将丢失响应性连接:
const state = reactive({ count: 0 })
let { count } = state
count++
callSomeFunction(state.count)
最后生成于
2024-06-22 12:07:50
热门推荐:
此内容有帮助 ?
0