BaseMutationNarrowing
定义于: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 状态。调用它可将结果类型收窄至该状态。 |