MutationCache
定义于:packages/vue-query/src/mutationCache.ts:15
@tanstack/query-core 的 MutationCache 的 Vue 感知子类。find/findAll 同样接受一个 MaybeRefDeep 过滤器对象,因此可直接传入 ref,无需手动解包。可通过 queryClient.getMutationCache() 访问它 —— QueryClient 默认会构造一个此类实例。
继承自
MutationCache
构造函数
构造函数
1new MutationCache(config?: MutationCacheConfig): MutationCache;定义于:packages/query-core/src/mutationCache.ts:128
参数
config?
MutationCacheConfig = {}
返回值
MutationCache
继承自
1MC.constructor属性
config
1config: MutationCacheConfig = {};定义于:packages/query-core/src/mutationCache.ts:128
继承自
1MC.config方法
clear()
1clear(): void;定义于:packages/query-core/src/mutationCache.ts:262
从缓存中移除所有修改。
返回值
void
示例
1const mutationCache = queryClient.getMutationCache()2 3mutationCache.clear()继承自
1MC.clearfind()
1find<TData = unknown, TError = Error, TVariables = any, TOnMutateResult = unknown>(filters: MaybeRefDeep<MutationFilters<unknown, Error, unknown, unknown>>): 2 | Mutation<TData, TError, TVariables, TOnMutateResult>3 | undefined;定义于:packages/vue-query/src/mutationCache.ts:16
一个稍高级的方法,可用于从缓存中获取已存在的修改实例。若该修改不存在,则返回 undefined。
大多数应用通常不需要此方法,但在极少数需要获取更多修改信息的场景下可能非常有用。
类型参数
TData
TData = unknown
TError
TError = Error
TVariables
TVariables = any
TOnMutateResult
TOnMutateResult = unknown
参数
filters
MaybeRefDeep<MutationFilters<unknown, Error, unknown, unknown>>
用于匹配的过滤器。exact 默认为 true。
返回值
| Mutation<TData, TError, TVariables, TOnMutateResult>
| undefined
首个匹配的修改,或 undefined。
参见
示例
1const mutationCache = queryClient.getMutationCache()2 3const mutation = mutationCache.find({ mutationKey: ['addPost'] })覆盖自
1MC.findfindAll()
1findAll(filters?: MaybeRefDeep<MutationFilters<unknown, Error, unknown, unknown>>): Mutation<unknown, Error, unknown, unknown>[];定义于:packages/vue-query/src/mutationCache.ts:27
一个更高级的方法,可用于从缓存中获取所有匹配给定过滤器的现有修改实例。若无匹配的修改,则返回空数组。
大多数应用通常不需要此方法,但在极少数需要获取更多修改信息的场景下可能非常有用。
参数
filters?
MaybeRefDeep<MutationFilters<unknown, Error, unknown, unknown>> = {}
用于匹配的过滤器。若不提供过滤器,则返回所有修改。
返回值
Mutation<unknown, Error, unknown, unknown>[]
所有匹配的修改。
参见
示例
1const mutationCache = queryClient.getMutationCache()2 3const mutations = mutationCache.findAll({ mutationKey: ['addPost'] })覆盖自
1MC.findAllgetAll()
1getAll(): Mutation<unknown, Error, unknown, unknown>[];定义于:packages/query-core/src/mutationCache.ts:286
返回缓存中的所有修改。
大多数应用通常不需要此方法,但在极少数需要获取更多修改信息的场景下可能非常有用。
返回值
Mutation<unknown, Error, unknown, unknown>[]
缓存中的全部修改。
示例
1const mutationCache = queryClient.getMutationCache()2 3const mutations = mutationCache.getAll()继承自
1MC.getAllhasListeners()
1hasListeners(): boolean;定义于:packages/query-core/src/subscribable.ts:43
当至少注册了一个监听器时返回 true;所有监听器均取消订阅后返回 false。
返回值
boolean
至少注册了一个监听器时返回 true。
继承自
1MC.hasListenerssubscribe()
1subscribe(listener: MutationCacheListener): () => void;定义于:packages/query-core/src/subscribable.ts:28
注册一个监听器,使其在该对象通知每次更新时被调用。返回一个用于再次移除该监听器的函数 —— 调用它即可停止监听。基类自身永远不会主动丢弃监听器,但某些子类会在 destroy() 中清空其全部监听器。
参数
listener
MutationCacheListener
每次更新时被调用,接收子类传递给其订阅者的任意参数。
返回值
一个用于移除监听器的函数。
() => void
示例
1const unsubscribe = subscribable.subscribe(() => {2 // react to the update3})4 5unsubscribe()继承自
1MC.subscribe