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

修改选项

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

在多处共享修改选项的最佳方式之一,是使用 mutationOptions 辅助函数。该辅助函数在运行时仅返回你传入的任何内容,但配合 TypeScript 使用时具备诸多优势。你可以在一个位置定义修改的所有可能选项,并且能为所有这些选项获得类型推断和类型安全。

TypeScript
1export class QueriesService {2  private readonly queryClient = inject(QueryClient)3 4  updatePost(id: number) {5    return mutationOptions({6      mutationFn: (post: Post) => Promise.resolve(post),7      mutationKey: ['updatePost', id],8      onSuccess: (newPost) => {9        //           ^? newPost: Post10        this.queryClient.setQueryData(['posts', id], newPost)11      },12    })13  }14}