Using useSwr to manage data

Caelin Sutch
2 min readDec 1, 2022

The React useSwr hook is a convenient and powerful tool for managing data in your React apps. It is based on the SWR (stale-while-revalidate) strategy, which is a popular technique for optimizing the performance of web applications by caching data and updating it in the background.


One of the key benefits of using the useSwr hook is that it makes it easy to fetch and manage data in your React components. Instead of writing your own code to fetch data from an API and handle any errors or loading states, you can use the useSwr hook to do all of this for you.

For example, let’s say you want to fetch a list of users from an API in a React component. With the useSwr hook, you can do this with just a few lines of code:

import useSwr from 'swr';

const { data, error, isValidating } = useSwr('/api/users', fetcher);

if (error) {
return <p>Error: {error.message}</p>;
if (isValidating) {
return <p>Loading...</p>;

return <ul>{ => <li>{}</li>)}</ul>;

In this code, the useSwr hook is used to fetch the list of users from the /api/users endpoint using the fetcher function. The hook returns an object with three properties: data, error, and isValidating. The data property contains the fetched data, the error property contains any error that occurred, and the isValidating property is true when the data is being fetched.

The code then uses these properties to handle the different states that can occur when fetching data. If an error occurred, it is displayed to the user. If the data is being fetched, a “Loading…” message is shown. Otherwise, the data is displayed in a list.

As you can see, the useSwr hook makes it easy to fetch and manage data in your React components. It provides a simple and powerful way to handle different states and errors, and it allows you to focus on the UI of your app rather than the details of fetching data.

In addition to its simplicity and convenience, the useSwr hook also offers performance benefits by using the SWR strategy to cache data and update it in the background. This can help your app to load faster and be more responsive, which can improve the user experience.

Overall, the useSwr hook is a valuable tool for any React developer who needs to fetch and manage data in their apps. It is simple to use, flexible, and offers performance benefits, making it a great choice for managing data in React.

Caelin Sutch

Founder, engineer, designer. Passionate about building cool shit.