跳到主要内容

useRepositoryQuery()

function useRepositoryQuery<T, TOptions, RT>(
EntityType,
method,
defaultValue,
options
): RxDBResource<RT>;

Defined in: rxdb-vue/src/hooks.ts:124

RxDB 仓库查询的核心钩子实现,管理响应式订阅和状态更新。

Type Parameters​

Type Parameter
T extends EntityType
TOptions
RT

Parameters​

ParameterTypeDescription
EntityTypeT实体类。
methodstring仓库上的查询方法名。
defaultValueRT订阅到首个值之前的占位值。
optionsUseOptions<TOptions>查询选项,可以是常量、getter、Ref 或 ComputedRef。

Returns​

RxDBResource<RT>

响应式资源,状态组合与生命周期契约见 RxDBResource。

Throws​

选项含不可序列化的值时,在计算内容 key 的过程中抛出 (setup 阶段同步抛,见 createQueryOptionsKey)。

Remarks​

RVU-002:选项按内容触发重查,不是按引用 —— reactive 对象原地改字段会重查, 结构等价的新引用不会重订阅。EntityType 与 method 是 setup 期捕获的入参, 一次 setup 内不会变,因此不是 watch 源。

RVU-003:新一轮查询在入口同步复位 isLoading/error/hasValue/isEmpty, value 保留旧值。这与 Angular 的 effect 入口、React 的渲染期复位是同一份契约。

SSR 下无 window,跳过订阅;客户端 hydrate 是全新 setup,会正常发起查询。 订阅随 effect scope 销毁自动退订,迟到的 emission 靠 requestId 丢弃。