• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • shallowReactive()

    浅版本的reactive()

    类型

    function shallowReactive<T extends object>(target: T): T
    


    细节

    reactive()不同的是,没有深度转换。只有根级属性对于浅响应对象是响应性的。属性值按原样存储和公开,这也意味着具有ref值的属性,不会自动展开。

    浅层数据结构只能用于组件中的根级状态。避免将其嵌套在深层响应对象中,因为它会创建一个具有不一致响应行为的树,这可能难以理解和调试。


    例子

    const state = shallowReactive({
      foo: 1,
      nested: {
        bar: 2
      }
    })
    
    // 本身的属性是反应性的
    state.foo++
    
    // 不转换嵌套对象
    isReactive(state.nested) // false
    
    // 不响应
    state.nested.bar++
    

    上篇:shallowRef()

    下篇:shallowReadonly()