UNPKG

react-query

Version:

Hooks for managing, caching and syncing asynchronous and remote data in React

13 lines 738 B
import React from 'react'; import { useSyncExternalStore } from 'use-sync-external-store/shim'; import { notifyManager } from '../core/notifyManager'; import { parseMutationFilterArgs } from '../core/utils'; import { useQueryClient } from './QueryClientProvider'; export function useIsMutating(arg1, arg2, arg3) { const [filters, options = {}] = parseMutationFilterArgs(arg1, arg2, arg3); const queryClient = useQueryClient({ context: options.context }); const queryCache = queryClient.getQueryCache(); return useSyncExternalStore(React.useCallback(onStoreChange => queryCache.subscribe(notifyManager.batchCalls(onStoreChange)), [queryCache]), () => queryClient.isMutating(filters), () => queryClient.isMutating(filters)); }