React Query
Introduction
The library to handle data fetching, including retry, caching, error handling, so as to reduce the boilerplate code
Convenient to create custom hook to fetching or updating data in order to achieve separate of concern
Fresh & Stale State
Fresh: all the data must come from cache, no background refetching will be happened
Stale: data can still come from cache, but the background refetching can be happened
Default Behavior
Stale queries are refetched automatically in the background when:
New instances of the query mount
The window is refocused
The network is reconnected.
The query is optionally configured with a refetch interval.
If Query fails, will silently retry 3 times
The data of the inactive queries will be cached for 5 mins
The staleTime is 0
isLoading: Your query has no data and is currently loading for the first timeisFetchingflag is not part of the internal state machine - it is an additional flag that will be true whenever a request is in-flight. You can be fetching and success, you can be fetching and error - but you cannot be loading and success at the same time.React Query will attempt to compare the old state and the new and keep as much of the previous state as possible to prevent trivial re-rendering
Query Cancellation
Queries that unmount or become unused will be cancelled if you consume the AbortSignal or attach a cancel function to your Promise, the Promise will be cancelled (e.g. aborting the fetch)
The query can also be cancelled manually
Setup Provider
To set up the provider for children, so that react-query can be used in component
To customize the default setting for library
UseQuery
Handle fetching data when the page is mounted and the dependencies are changed
Data will be cached based on the query key
UseMutation
Used to update data
Last updated
Was this helpful?