响应式数据:一旦数据发生变化,就会发生对应的响应(一般情况下是更新视图)。
eg1.
const position = reactive ({ });
reactive 是一个怎样的函数?
reactive 把一个数据模型 / 对象(可以是空)加工 成响应式数据 / 响应式对象。
eg2.
const time = ref(0)
setInterval(()=>{
time.value=Date.now()
},1000)
ref 把一个基础数据类型 包装 成一个响应式对象。基础数据类型的值是被包装在.value里面的。
(ref 也可以理解是一种包装对象)
eg3.
watch(time,(val,prev)=>{
console.log("watch",val,prev)
})
//副作用
watchEffect(()=>{
console.log("watchEffect time",time.value,unref(time))
)
副作用effect:在响应式数据里面,一旦有数据发生变化,就会自动产生响应。这里的响应就是它的副作用。
通俗理解:数据变化更新视图,更新视图就是数据变化的副作用
watchEffect 用来观察副作用。
ref()装箱,unref()拆箱,time.vale 值等于 unref(time)