MutationCache
定义于:packages/query-core/src/mutationCache.ts:123
MutationCache 是用于存储修改的缓存。
通常,你不会直接与 MutationCache 交互,而是使用 QueryClient。你可以订阅它(继承自 Subscribable),以便在缓存发生安全/已知更新(例如添加、移除或更新修改)时收到通知。
示例
1const unsubscribe = mutationCache.subscribe((event) => {2 console.log(event.type, event.mutation)3})继承自
Subscribable<MutationCacheListener>
构造函数
构造函数
1new MutationCache(config?: MutationCacheConfig): MutationCache;定义于:packages/query-core/src/mutationCache.ts:128
参数
config?
MutationCacheConfig = {}
返回值
MutationCache
覆盖自
1Subscribable<MutationCacheListener>.constructor属性
config
1config: MutationCacheConfig = {};定义于:packages/query-core/src/mutationCache.ts:128
方法
clear()
1clear(): void;定义于:packages/query-core/src/mutationCache.ts:262
从缓存中移除所有修改。
返回值
void
示例
1const mutationCache = queryClient.getMutationCache()2 3mutationCache.clear()find()
1find<TData = unknown, TError = Error, TVariables = any, TOnMutateResult = unknown>(filters: MutationFilters): 2 | Mutation<TData, TError, TVariables, TOnMutateResult>3 | undefined;定义于:packages/query-core/src/mutationCache.ts:306
一个稍高级的方法,可用于从缓存中获取已存在的修改实例。若该修改不存在,则返回 undefined。
大多数应用通常不需要此方法,但在极少数需要获取更多修改信息的场景下可能很有用。
类型参数
TData
TData = unknown
TError
TError = Error
TVariables
TVariables = any
TOnMutateResult
TOnMutateResult = unknown
参数
filters
用于匹配的筛选条件。exact 默认为 true。
返回值
| Mutation<TData, TError, TVariables, TOnMutateResult>
| undefined
首个匹配的修改,或 undefined。
参见
示例
1const mutationCache = queryClient.getMutationCache()2 3const mutation = mutationCache.find({ mutationKey: ['addPost'] })findAll()
1findAll(filters?: MutationFilters): Mutation<unknown, Error, unknown, unknown>[];定义于:packages/query-core/src/mutationCache.ts:337
一个更高级的方法,可用于从缓存中获取所有匹配给定筛选条件的修改实例。若无匹配的修改,则返回空数组。
大多数应用通常不需要此方法,但在极少数需要获取更多修改信息的场景下可能很有用。
参数
filters?
MutationFilters = {}
用于匹配的筛选条件。若不提供筛选条件,则返回所有修改。
返回值
Mutation<unknown, Error, unknown, unknown>[]
所有匹配的修改。
参见
示例
1const mutationCache = queryClient.getMutationCache()2 3const mutations = mutationCache.findAll({ mutationKey: ['addPost'] })getAll()
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()hasListeners()
1hasListeners(): boolean;定义于:packages/query-core/src/subscribable.ts:43
当至少有一个监听器注册时返回 true;当所有监听器均已取消订阅时返回 false。
返回值
boolean
若至少有一个监听器已注册,则返回 true。
继承自
1Subscribable.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()继承自
1Subscribable.subscribe