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
| Parameter | Type | Description |
|---|---|---|
EntityType | T | 实体类。 |
method | string | 仓库上的查询方法名。 |
defaultValue | RT | 订阅到首个值之前的占位值。 |
options | UseOptions<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 丢弃。