@feng3d/reactivity
    Preparing search index...

    Class RefReactivity<T>

    引用反应式节点类。

    当使用 ref 函数时,会创建一个 RefReactivity 对象。 实现了引用的核心功能:

    1. 值的存储和访问
    2. 值的自动解包
    3. 变更通知
    4. 依赖追踪

    Type Parameters

    • T = any

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    Properties

    Accessors

    Methods

    Constructors

    Properties

    __v_isRef: true

    标识这是一个 ref 对象。

    用于 isRef 函数判断对象是否为引用。

    "[RefSymbol]": true
    activeReactivity: ComputedReactivity

    当前正在执行的反应式节点。

    用于在依赖收集过程中标识当前正在执行的节点。 当其他节点访问此节点的值时,会将其作为父节点。

    Accessors

    • get value(): T

      获取引用的值。

      取值时会:

      1. 建立依赖关系
      2. 返回当前值

      Returns T

    • set value(v: T): void

      设置引用的值。

      设置值时会:

      1. 比较新旧值是否发生变化
      2. 如果值发生变化,则:
        • 触发更新通知
        • 更新原始值
        • 更新响应式值

      Parameters

      • v: T

        要设置的新值

      Returns void

    Methods

    • 建立依赖关系。

      当其他节点访问当前节点的值时,会调用此方法。 将当前节点与访问者(父节点)建立依赖关系。

      如果当前没有活动的响应式节点,或者不应该跟踪依赖,则不会建立依赖关系。

      Returns void

    • 触发更新。

      当节点值发生变化时,会调用此方法。 通知所有依赖此节点的父节点进行更新。

      更新过程:

      1. 遍历所有父节点
      2. 检查父节点的版本号是否匹配
      3. 触发父节点的更新
      4. 将当前节点添加到父节点的失效子节点集合中

      Returns void