• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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++
    

    上篇:shallowReactive()

    下篇:triggerRef()