MCPcopy
hub / github.com/TanStack/query / useMutation

Function useMutation

packages/solid-query/src/useMutation.ts:15–79  ·  view source on GitHub ↗
(
  options: UseMutationOptions<TData, TError, TVariables, TOnMutateResult>,
  queryClient?: Accessor<QueryClient>,
)

Source from the content-addressed store, hash-verified

13
14// HOOK
15export function useMutation<
16 TData = unknown,
17 TError = DefaultError,
18 TVariables = void,
19 TOnMutateResult = unknown,
20>(
21 options: UseMutationOptions<TData, TError, TVariables, TOnMutateResult>,
22 queryClient?: Accessor<QueryClient>,
23): UseMutationResult<TData, TError, TVariables, TOnMutateResult> {
24 const client = createMemo(() => useQueryClient(queryClient?.()))
25
26 const observer = new MutationObserver<
27 TData,
28 TError,
29 TVariables,
30 TOnMutateResult
31 >(client(), options())
32
33 const mutate: UseMutateFunction<
34 TData,
35 TError,
36 TVariables,
37 TOnMutateResult
38 > = (variables, mutateOptions) => {
39 observer.mutate(variables, mutateOptions).catch(noop)
40 }
41
42 const [state, setState] = createStore<
43 UseMutationResult<TData, TError, TVariables, TOnMutateResult>
44 >({
45 ...observer.getCurrentResult(),
46 mutate,
47 mutateAsync: observer.getCurrentResult().mutate,
48 })
49
50 createComputed(() => {
51 observer.setOptions(options())
52 })
53
54 createComputed(
55 on(
56 () => state.status,
57 () => {
58 if (
59 state.isError &&
60 shouldThrowError(observer.options.throwOnError, [state.error])
61 ) {
62 throw state.error
63 }
64 },
65 ),
66 )
67
68 const unsubscribe = observer.subscribe((result) => {
69 setState({
70 ...result,
71 mutate,
72 mutateAsync: result.mutate,

Callers 6

MutateFunction · 0.50
PageFunction · 0.50
MutatesFunction · 0.50
ComponentFunction · 0.50
MutationsFunction · 0.50
PageFunction · 0.50

Calls 6

getCurrentResultMethod · 0.95
setOptionsMethod · 0.95
useQueryClientFunction · 0.90
shouldThrowErrorFunction · 0.90
optionsFunction · 0.50
subscribeMethod · 0.45

Tested by 6

MutateFunction · 0.40
PageFunction · 0.40
MutatesFunction · 0.40
ComponentFunction · 0.40
MutationsFunction · 0.40
PageFunction · 0.40

Used in the wild real call sites across dependent graphs

searching dependent graphs…