In my app every time the user creates a new album the post request response responds with a list of the updated list of albums.
To provide a better user experience, I wanted the user to see the new content in the app without having to refresh the page.
I'm aware of the existence of SWR's mutate, but so far, I couldn't make it work.
I tried to set a 1000ms refreshInterval
in my hook, but I wanted to know how to do it by using the mutate. Here's what I tried:
SWR hook
const fetcher = async (url: string, param: string) => {
const res = await fetch(url + param);
return res.json();
};
const { data, error } = useSWR(
["/api/albums/list?id=", appUser.id],
(url, params) => fetcher(url, params)
);
Inside the createAlbum
function:
const data = await response.json();
mutate("/api/albums/list", data.newAlbums, false);
I would be happy to get some feedback.