isReactive() 判断是否为响应式对象
最后更新:2026-10-22
isReactive() 判断是否为响应式对象
isReactive() 判断值是否由 reactive()(或其子代理)创建。
| 分组 | 响应式·工具 |
|---|---|
| 类型 | API |
| 作用域 | 组件内 |
| Vue 版本 | 3.0+ |
| SSR 支持 | 支持 |
📝 语法
isReactive(reactive({})) // true
isReactive(ref({})) // true(ref 内部对象也被代理)
isReactive({}) // false
⚙️ 参数
| value | 任意值 |
|---|
返回值:布尔值
▶ 示例
修改下面的代码,在预览区实时查看效果:
输出:
显示「reactive 对象:true,普通对象:false,ref 包对象:true」。
💡 要点
ℹ️ 说明 readonly 包裹 reactive 时,isReactive 仍返回 true(会先剥只读层判断)。
💡 提示 防重复包装:传入前先判断,已经是响应式对象就不必再 reactive() 一次。
🏷️ 相关工具
💡 相关案例
更多案例即将上线。
📚 相关教程
❓ 常见问题
Q ref(1) 会返回 true 吗?
A 不会,基本类型 ref 不是 reactive 代理;ref({}) 才命中。
Q 它能识别 readonly 吗?
A readonly(reactive({})) 返回 true;纯 readonly({}) 则请用 isReadonly 判断。
Q 和 isProxy 的关系?
A isReactive 是 isProxy 的子集判断(可写那部分),需要更宽判断用 isProxy。