본문으로 건너뛰기

mutationOptions

호출 시그니처

function mutationOptions<TData, TError, TVariables, TOnMutateResult>(options): WithRequired<UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">;

정의 위치: preact-query/src/mutationOptions.ts:34

일반적으로 useMutation에 전달할 수 있는 모든 항목을 mutationOptions에도 전달할 수 있습니다. 하나의 나중에 예를 들어 다음을 사용해 뮤테이션을 조회할 수 있도록 이 오버로드에는 mutationKey가 필요합니다 useMutationState.

타입 매개변수

TData

TData = unknown

TError

TError = Error

TVariables

TVariables = void

TOnMutateResult

TOnMutateResult = unknown

매개변수

옵션

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

사용할 뮤테이션 옵션으로, useMutation에 전달하는 것과 동일하며 다음을 포함합니다: mutationKey가 필요합니다.

반환값

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

변경되지 않은 동일한 옵션 객체입니다.

참조

이 옵션이 설명하는 뮤테이션을 실행하기 위한 useMutation입니다.

예시

전역 "저장 중…" 표시기 등의 용도로 mutationKey를 통해 다른 위치에서 뮤테이션을 조회합니다:

import { mutationOptions, useMutationState } from '@tanstack/preact-query'

const createPostOptions = mutationOptions({
mutationKey: ['posts', 'create'],
mutationFn: createPost,
})

function SavingIndicator() {
const isCreatingPost = useMutationState({
filters: { mutationKey: createPostOptions.mutationKey, status: 'pending' },
}).length > 0

return isCreatingPost ? <span>Saving…</span> : null
}

호출 시그니처

function mutationOptions<TData, TError, TVariables, TOnMutateResult>(options): Omit<UseMutationOptions<TData, TError, TVariables, TOnMutateResult>, "mutationKey">;

정의 위치: preact-query/src/mutationOptions.ts:74

일반적으로 useMutation에 전달할 수 있는 모든 항목을 mutationOptions에도 전달할 수 있습니다. 그렇지 않습니다 이 오버로드에서는 mutationKey가 필수입니다 — 나중에 뮤테이션을 조회할 필요가 없을 때 사용합니다 (예: useMutationState 사용).

타입 매개변수

TData

TData = unknown

TError

TError = Error

TVariables

TVariables = void

TOnMutateResult

TOnMutateResult = unknown

매개변수

옵션

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

사용할 뮤테이션 옵션으로, useMutation에 전달하는 항목과 동일하지만 다음 항목은 제외합니다 mutationKey.

반환값

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

변경되지 않은 동일한 옵션 객체입니다.

참조

이 옵션이 설명하는 뮤테이션을 실행하기 위한 useMutation입니다.

비고

mutationKey가 없으면 useMutationState를 통해 다른 곳에서 뮤테이션을 조회할 수 없습니다 — 다음을 참조하세요 이에 대해서는 다른 오버로드의 예제를 참조합니다.

예시

import { mutationOptions, useMutation } from '@tanstack/preact-query'

export const createPostOptions = mutationOptions({
mutationFn: createPost,
})

function CreatePost() {
const mutation = useMutation(createPostOptions)
return <button onClick={() => mutation.mutate({ title: 'Hello' })}>Create</button>
}