Vue3 中ref 对比 reactive

创建数据类型:

ref:基本类型、对象类型;创建的是响应式引用

reactive:对象类型; 创建的是响应式对象

区别:

ref创建的变量必须使用.value;reactive不需要,可直接使用;

reactive重新分配一个新对象,会失去响应性,;ref不会;


❌以下为错误做法

    let state = reactive({ name: 'Alice', age: 25 });state = {name: 'Tom',age: 18}; // 新对象不再是响应式!

    ✅正确作答:

    1.使用Object.assign替换整体保持响应性

    const state = reactive({ name: 'Alice',age: 25});Object.assign(state ,{name: 'Tom',age: 18});

    2.使用toRefs保持响应性

    const state = reactive({ name: 'Alice',age: 25});const { name, age } = toRefs(state);//通过toRefs将state对象中的n个属性批量取出,且依然保持响应式的能力name.value = 'Tom';age.value = 18;

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值