13-mini-vue isRef unRef
·
实现 isRef 和 unRef 功能
- 功能
- isRef 判断一个值是不是 Ref 数据
- unRef 如果是 Ref 数据,就返回该数据 .value 如果不是 Ref 数据,直接返回值
- 测试代码
// isRefunRef.spec.ts
it('isRef',()=>{
const a = ref(1)
const user = reactive({
age: 1
})
expect(isRef(a)).toBe(true)
expect(isRef(1)).toBe(false)
expect(isRef(user)).toBe(false)
})
it('unRef',()=>{
const a = ref(1)
expect(unRef(a)).toBe(1)
expect(unRef(1)).toBe(1)
})
- 功能实现
// effect.ts
class RefImpl {
__v_isRef = true
}
export function isRef(val) {
return !!val.__v_isRef
}
export function unRef(val) {
return isRef(val) ? val.value : val
}
更多推荐


所有评论(0)