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

mutationOptions

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

概述

TypeScript
1function mutationOptions<TData = unknown, TError = Error, TVariables = void, TOnMutateResult = unknown>(options: WithRequired<UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">): WithRequired<UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">;2function mutationOptions<TData = unknown, TError = Error, TVariables = void, TOnMutateResult = unknown>(options: Omit<UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">): Omit<UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">;
  • WithRequired<UseMutationOptions> → WithRequired<UseMutationOptions>:你通常可以向 mutationOptions 传入所有能传给 useMutation 的参数。此重载版本要求提供一个 mutationKey,以便后续(例如通过 useMutationState)查找该修改。
  • Omit<UseMutationOptions> → Omit<UseMutationOptions>:你通常可以向 mutationOptions 传入所有能传给 useMutation 的参数。此重载版本不要求提供 mutationKey —— 当你后续无需通过 mutationKey 过滤器(例如通过 useMutationState)定位该修改时,请使用此版本;它仍可通过其他过滤器(例如 status)被观察到。

另请参阅:参数 · 返回值

调用签名

TypeScript
1function mutationOptions<TData = unknown, TError = Error, TVariables = void, TOnMutateResult = unknown>(options: WithRequired<UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">): WithRequired<UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">;

定义于:packages/react-query/src/mutationOptions.ts:31

你通常可以向 mutationOptions 传入所有能传给 useMutation 的参数。此重载版本要求提供一个 mutationKey,以便后续(例如通过 useMutationState)查找该修改。

类型参数

TData

TData = unknown

TError

TError = Error

TVariables

TVariables = void

TOnMutateResult

TOnMutateResult = unknown

参数

options

WithRequired<UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">

要使用的修改选项,与传给 useMutation 的选项完全相同,但必须包含 mutationKey。

返回值

WithRequired<UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">

原始选项对象,未作任何更改。

参见

useMutation:运行这些选项所描述的修改。

示例

在其他位置通过其 mutationKey 查找该修改,例如用于全局“正在保存…”指示器:

TypeScript
1import { mutationOptions, useMutationState } from '@tanstack/react-query'2 3const createPostOptions = mutationOptions({4  mutationKey: ['posts', 'create'],5  mutationFn: createPost,6})7 8function SavingIndicator() {9  const isCreatingPost = useMutationState({10    filters: { mutationKey: createPostOptions.mutationKey, status: 'pending' },11  }).length > 012 13  return isCreatingPost ? <span>Saving…</span> : null14}

调用签名

TypeScript
1function mutationOptions<TData = unknown, TError = Error, TVariables = void, TOnMutateResult = unknown>(options: Omit<UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">): Omit<UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">;

定义于:packages/react-query/src/mutationOptions.ts:69

你通常可以向 mutationOptions 传入所有能传给 useMutation 的参数。此重载版本不要求提供 mutationKey —— 当你后续无需通过 mutationKey 过滤器(例如通过 useMutationState)定位该修改时,请使用此版本;它仍可通过其他过滤器(例如 status)被观察到。

类型参数

TData

TData = unknown

TError

TError = Error

TVariables

TVariables = void

TOnMutateResult

TOnMutateResult = unknown

参数

options

Omit<UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">

要使用的修改选项,与传给 useMutation 的选项完全相同,但不包含 mutationKey。

返回值

Omit<UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">

原始选项对象,未作任何更改。

备注

有关通过 useMutationState 查找修改的示例,请参阅另一重载版本的示例。

参见

useMutation:运行这些选项所描述的修改。

示例

TypeScript
1import { mutationOptions, useMutation } from '@tanstack/react-query'2 3export const createPostOptions = mutationOptions({4  mutationFn: createPost,5})6 7function CreatePost() {8  const mutation = useMutation(createPostOptions)9  return <button onClick={() => mutation.mutate({ title: 'Hello' })}>Create</button>10}

参数

options

Omit<UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">

要使用的修改选项,与传给 useMutation 的选项完全相同,但不包含 mutationKey。

options 属性

基于 UseMutationOptions 构建。请参阅上方类型定义以了解其具体变更。

返回值

Omit<UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">

原始选项对象,未作任何更改。

返回值属性

基于 UseMutationOptions 构建。请参阅上方类型定义以了解其具体变更。

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

译自上游 59d11de