Data Fetching |



Apollo Client

Apollo GraphQL

A fully-featured caching GraphQL client with integrations for React that also has functionality for managing local state.
Apollo Client GitHub RepositoryApollo Client NPM PackageApollo Client Bundle Size Stats



Brandon Bayer

Blitz is a batteries-included framework that's inspired by Ruby on Rails, is built on Next.js, and features a "Zero-API" data layer abstraction that eliminates the need for REST/GraphQL.
Blitz GitHub RepositoryBlitz NPM PackageBlitz Bundle Size Stats

Use hooks or FACC's (Function as Child Component) to fetch data in an easy way. No dependencies! Just React under the hood. Request and response interceptors allows you to easily customize connection with API (add authorization, refresh token, cache, etc). It uses Fetch API so it can be used in SSR apps (i.e. with isomorphic-fetch).
React Fetching Library GitHub RepositoryReact Fetching Library NPM PackageReact Fetching Library Bundle Size Stats


React Query

Tanner Linsley

Writing your data fetching logic by hand is over. Tell React Query where to get your data and how fresh you need it to be and the rest is automatic. React Query handles caching, background updates and stale data out of the box with zero-configuration.
React Query GitHub RepositoryReact Query NPM PackageReact Query Bundle Size Stats




Remix is a full stack web framework (from the creators of React Router) that lets you focus on the user interface and work back through web fundamentals to deliver a fast, slick, and resilient user experience.
Remix GitHub RepositoryRemix NPM PackageRemix Bundle Size Stats


RTK Query

Lenz Weber

A powerful data fetching and caching tool. It is designed to simplify common cases for loading data in a web application, eliminating the need to hand-write data fetching & caching logic yourself.
RTK Query GitHub RepositoryRTK Query NPM PackageRTK Query Bundle Size Stats




The name “SWR” is derived from stale-while-revalidate, a HTTP cache invalidation strategy popularized by HTTP RFC 5861. SWR is a strategy to first return the data from cache (stale), then send the fetch request (revalidate), and finally come with the up-to-date data.
SWR GitHub RepositorySWR NPM PackageSWR Bundle Size Stats