'React Query: get query status
React Query has a useful hook called useIsFetching (see docs), which allows checking whether a given query is currently fetching data, like so:
const queryCount = useIsFetching(['my-query-name'])
I want to do something very similar: I want to know for a given endpoint, if data has already been fetched (isFetched).
I know this is returned from the useQuery hook, but using this hook would call the endpoint again, and I want to avoid the repeated call.
Any ideas how to achieve this?
Solution 1:[1]
You can avoid calling the endpoint again by setting a staleTime on your query, because in that time, data will come from the cache only.
if data doesn't exist yet, it will be fetched. If you don't want that, consider queryClient.getQueryState(['my-query-name']). However, this will not create a subscription, so your component will not re-render if the query state changes.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | TkDodo |
