UNPKG

react-query

Version:

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

13 lines 708 B
import React from 'react'; import { useSyncExternalStore } from 'use-sync-external-store/shim'; import { notifyManager } from '../core'; import { parseFilterArgs } from '../core/utils'; import { useQueryClient } from './QueryClientProvider'; export function useIsFetching(arg1, arg2, arg3) { const [filters, options = {}] = parseFilterArgs(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.isFetching(filters), () => queryClient.isFetching(filters)); }