shallowReadonly()
浅版本的readonly()
。
类型
function shallowReadonly<T extends object>(target: T): Readonly<T>
细节
与readonly()
不同的是,没有深度转换。只有根级属性是只读的。属性值按原样存储和公开,这也意味着具有ref值的属性不会自动展开。
浅层数据结构只能用于组件中的根级状态。避免将其嵌套在深层响应对象中,因为它会创建一个具有不一致响应行为的树,这可能难以理解和调试。
例子
const state = shallowReadonly({ foo: 1, nested: { bar: 2 } }) // 自增加失败,因为是仅读的 state.foo++ // 深层的,非仅读 isReadonly(state.nested) // false // 能自增加,非仅读 state.nested.bar++