mutationOptions
뮤테이션 옵션을 타입 안전한 방식으로 공유하고 재사용할 수 있습니다.
예시
export class QueriesService {
private http = inject(HttpClient)
private queryClient = inject(QueryClient)
updatePost(id: number) {
return mutationOptions({
mutationFn: (post: Post) => Promise.resolve(post),
mutationKey: ["updatePost", id],
onSuccess: (newPost) => {
// ^? newPost: Post
this.queryClient.setQueryData(["posts", id], newPost)
},
});
}
}
class ComponentOrService {
queries = inject(QueriesService)
id = signal(0)
mutation = injectMutation(() => this.queries.updatePost(this.id()))
save() {
this.mutation.mutate({ title: 'New Title' })
}
}
매개변수
뮤테이션 옵션입니다.
호출 시그니처
function mutationOptions<TData, TError, TVariables, TOnMutateResult>(options): WithRequired<CreateMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">;
정의 위치: mutation-options.ts:39
뮤테이션 옵션을 타입 안전한 방식으로 공유하고 재사용할 수 있습니다.
예시
export class QueriesService {
private http = inject(HttpClient)
private queryClient = inject(QueryClient)
updatePost(id: number) {
return mutationOptions({
mutationFn: (post: Post) => Promise.resolve(post),
mutationKey: ["updatePost", id],
onSuccess: (newPost) => {
// ^? newPost: Post
this.queryClient.setQueryData(["posts", id], newPost)
},
});
}
}
class ComponentOrService {
queries = inject(QueriesService)
id = signal(0)
mutation = injectMutation(() => this.queries.updatePost(this.id()))
save() {
this.mutation.mutate({ title: 'New Title' })
}
}
타입 매개변수
TData
TData = unknown
TError
TError = Error
TVariables
TVariables = void
TOnMutateResult
TOnMutateResult = unknown
매개변수
옵션
WithRequired<CreateMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">
뮤테이션 옵션입니다.
반환값
WithRequired<CreateMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">
뮤테이션 옵션.
호출 시그니처
function mutationOptions<TData, TError, TVariables, TOnMutateResult>(options): Omit<CreateMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">;
정의 위치: mutation-options.ts:53
뮤테이션 옵션을 타입 안전한 방식으로 공유하고 재사용할 수 있습니다.
예시
export class QueriesService {
private http = inject(HttpClient)
private queryClient = inject(QueryClient)
updatePost(id: number) {
return mutationOptions({
mutationFn: (post: Post) => Promise.resolve(post),
mutationKey: ["updatePost", id],
onSuccess: (newPost) => {
// ^? newPost: Post
this.queryClient.setQueryData(["posts", id], newPost)
},
});
}
}
class ComponentOrService {
queries = inject(QueriesService)
id = signal(0)
mutation = injectMutation(() => this.queries.updatePost(this.id()))
save() {
this.mutation.mutate({ title: 'New Title' })
}
}
타입 매개변수
TData
TData = unknown
TError
TError = Error
TVariables
TVariables = void
TOnMutateResult
TOnMutateResult = unknown
매개변수
옵션
Omit<CreateMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">
뮤테이션 옵션입니다.
반환값
Omit<CreateMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">
뮤테이션 옵션.