首页 >> 知识 >> vue3 reactive函数用法

vue3 reactive函数用法

reactive的用法与ref的用法相似,也是将数据变成响应式数据,当数据发生变化时UI也会自动更新。不同的是ref用于基本数据类型,而reactive是用于复杂数据类型,比如对象和数组 例如:定义一个对象类型的变量user

      

{{ user }}

    click me! one year later   import { reactive } from "vue";export default {  name: "reactive",  setup() {    const user = reactive({ name: "Alice", age: 12 });    function increase() {      ++user.age    }    return { user, increase };  },};

如上,当点击按钮时,让数据user.age加1,当Vue发现数据发生变化,UI会自动更新 那草莓视频在线观看APP验证了,确实reactive函数可以将一个复杂数据类型变成响应式数据。草莓视频在线观看APP不妨将reactive函数执行的结果打印出来看下,看看它返回值是什么 reactive将传递的对象包装成了proxy对象

草莓视频在线观看APP发现,reactive执行结果是将传递的对象包装成了proxy对象 接下来草莓视频在线观看APP测试一下,如果传递基本数据类型呢?

      

{{ userAge }}

    click me! one year later   import { reactive } from "vue";export default {  name: "reactive",  setup() {    let userAge = reactive(12);    function increase() {      console.log(userAge);      ++userAge;    }    return { userAge, increase };  },};

运行发现,基本数据传递给reactive,reactive并不会将它包装成porxy对象,并且当数据变化时,界面也不会变化

需要注意的是,reactive中传递的参数必须是json对象或者数组,如果传递了其他对象(比如new Date()),在默认情况下修改对象,界面不会自动更新,如果也需要具有响应式,可以通过重新赋值的方式实现

使用ref函数可以处理基本数据,使期变成响应式数据  

网站地图