UNPKG

@tanstack/react-query

Version:

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

25 lines (21 loc) 677 B
'use client' import * as React from 'react' import { notifyManager } from '@tanstack/query-core' import { useQueryClient } from './QueryClientProvider' import type { QueryClient, QueryFilters } from '@tanstack/query-core' export function useIsFetching( filters?: QueryFilters, queryClient?: QueryClient, ): number { const client = useQueryClient(queryClient) const queryCache = client.getQueryCache() return React.useSyncExternalStore( React.useCallback( (onStoreChange) => queryCache.subscribe(notifyManager.batchCalls(onStoreChange)), [queryCache], ), () => client.isFetching(filters), () => client.isFetching(filters), ) }