译零 TransZero · TanStack Query 中文文档
主站

BaseMutationNarrowing

更新于 2026-11-02 Angular 查看英文原文 ↗

定义于:packages/angular-query-experimental/src/types.ts:324

修改结果上的 isSuccess/isError/isPending/isIdle 方法。每个方法既是 Signal(其当前布尔值可被响应式读取,无需调用),也是一个类型守卫函数,你可以调用它 — if (mutation.isSuccess()) — 从而使 mutation.data 在该分支内将 undefined 排除在外。

类型参数

TData

TData = unknown

你的修改函数所解析出的值的类型。

TError

TError = DefaultError

你的修改函数可能抛出的错误的类型。

TVariables

TVariables = unknown

传给 mutate/mutateAsync 的变量的类型。

TOnMutateResult

TOnMutateResult = unknown

onMutate 所返回的类型,作为 onSuccess/onError/onSettled 的 onMutateResult 参数传入 — 适用于乐观更新的回滚数据。

属性

属性 类型 描述
isError SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TOnMutateResult>) => this is CreateMutationResult<TData, TError, TVariables, TOnMutateResult, Override<MutationObserverErrorResult<TData, TError, TVariables, TOnMutateResult>, { mutate: CreateMutateFunction<TData, TError, TVariables, TOnMutateResult> }> & { mutateAsync: CreateMutateAsyncFunction<TData, TError, TVariables, TOnMutateResult> }>> 修改是否处于 error 状态。调用它可将结果类型收窄至该状态。
isIdle SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TOnMutateResult>) => this is CreateMutationResult<TData, TError, TVariables, TOnMutateResult, Override<MutationObserverIdleResult<TData, TError, TVariables, TOnMutateResult>, { mutate: CreateMutateFunction<TData, TError, TVariables, TOnMutateResult> }> & { mutateAsync: CreateMutateAsyncFunction<TData, TError, TVariables, TOnMutateResult> }>> 修改是否处于 idle 状态。调用它可将结果类型收窄至该状态。
isPending SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TOnMutateResult>) => this is CreateMutationResult<TData, TError, TVariables, TOnMutateResult, Override<MutationObserverLoadingResult<TData, TError, TVariables, TOnMutateResult>, { mutate: CreateMutateFunction<TData, TError, TVariables, TOnMutateResult> }> & { mutateAsync: CreateMutateAsyncFunction<TData, TError, TVariables, TOnMutateResult> }>> 修改是否处于 pending 状态。调用它可将结果类型收窄至该状态。
isSuccess SignalFunction<(this: CreateMutationResult<TData, TError, TVariables, TOnMutateResult>) => this is CreateMutationResult<TData, TError, TVariables, TOnMutateResult, Override<MutationObserverSuccessResult<TData, TError, TVariables, TOnMutateResult>, { mutate: CreateMutateFunction<TData, TError, TVariables, TOnMutateResult> }> & { mutateAsync: CreateMutateAsyncFunction<TData, TError, TVariables, TOnMutateResult> }>> 修改是否处于 success 状态。调用它可将结果类型收窄至该状态。

本页为 TanStack Query 文档(Angular 版)的非官方中文翻译,原文由上游团队维护,遵循 MIT 许可。 译文如有偏差,以英文原文为准。

译自上游 59d11de