请问大家 vue3 reactive 是不是能被ref平替?

请问这个存在的必要是什么呢?
reactive 能监听深层次的数组 对象增加 删除 和 通过索引修改值

但是这个ref 也同样可以做到
image.png

甚至 reactive 还不能在基本数据类型中使用

难道用reactive 的目的 只是为了少写一个.value吗?

阅读 3.6k
3 个回答

ref 本身不具备处理引用数据类型的响应式,它在底层也是调用了 reactive

function ref(initialValue) {
  // 创建一个响应式对象
  const value = reactive({
    value: initialValue
  });

  // 添加一个 .value 属性,用于访问和修改值
  Object.defineProperty(value, 'value', {
    get() {
      track(value, 'value');
      return value._value;
    },
    set(newValue) {
      if (newValue !== value._value) {
        value._value = newValue;
        trigger(value, 'value');
      }
    }
  });

  return value;
}

看看这个

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题