声明响应式状态之 ref()
ref()传参——用于声明响应式数据
1.在代码中使用ref声明的响应式数据需要.value
2.模板中使用看文档截图是不需要.value
3.ref声明的响应式数据是具备深层次的响应式,且可以用于声明任何数据类型的值
4.非原始值将通过 reactive() 转换为响应式代理
5.对于深层次嵌套的数据希望其只具备浅层次的响应时使用 shallow ref
ref() 不传参 用于获取组件实例或DOM对象
1.组件实例身上获取组件实例
2. 在标签身上获取DOM
reactive
1.ref 是包装成一个.value的对象.value具备响应式,而reactive是直接整个对象具备响应式不需要.value
2.reactive能声明复杂数据类型不能声明基本数据类型
3.不能直接把整个对象替换掉,这样将丢失响应式
4.解构或传参时传过去的丢失响应式
只有这样才是响应式的
reactive注意点
-
reactive() 返回的是一个原始对象的 Proxy,它和原始对象是不相等的:
其中只有更改reactive()返回的代理对象proxy才是响应式的,直接对原始数据raw进行更改的话不是响应式的
-
对于通过reactive()返回的代理对象再次进行代理的话返回自身