home ~ socials ~ projects ~ rss

Make Multiple SWR Data Fetch Calls In The Same React Component

September 2021

This code let's you use multiple swr calls in the same component. The key is to apply a name to each one.

const fetcher = (url) => fetch(url).then((res) => res.json())
 
const { data: playlists, error: playlistsError } = useSWR('/api/the-playlists', fetcher)
const { data: songs, error: songsError } = useSWR('/api/the-songs', fetcher)

Then you can check for each with:

if (playlistsError) return <div>Could not get playlists</div>
if (!playlists) return <div>Loading playlists...</div>
// do something with playlists


if (songsError) return <div>Could not get songs</div>
if (!songs) return <div>Loading songs...</div>
// do something with songs

Messing with that is left as an exercise for the reader

Note that the useSWR can't go inside a basic function inside a component

end of line
Share link:
https://www.alanwsmith.com/en/20/eo/rx/9p/?make-multiple-swr-data-fetch-calls-in-the-same-react-component