Vue shallowRef 与 customRef 实现:手动控制依赖追踪与性能开销对比 各位朋友,大家好!今天我们来深入探讨 Vue 3 中两个重要的响应式 API:shallowRef 和 customRef。它们都允许我们在一定程度上控制 Vue 的响应式系统,但实现原理和适用场景却有所不同。我们将从实现原理、使用方式、性能开销等方面进行对比分析,帮助大家更好地理解和运用它们。 一、shallowRef:浅层响应式引用 1.1 实现原理 shallowRef 的核心思想是:只对最外层的值进行响应式追踪,而不对内部的属性进行递归观测。这意味着,当我们改变 shallowRef 存储对象的属性时,Vue 不会触发更新。 在 Vue 的内部实现中,shallowRef 类似于一个普通的 ref,但它使用了一个特殊的 shallowReactive 函数来处理其存储的值。shallowReactive 会创建一个代理对象,但只对第一层属性进行响应式处理。 让我们通过一个简化的 JavaScript 代码来理解 shallowRef 的实现: function shallowReacti …