Zarządzanie stanem · Junior · Pytanie 67 z 75
Dlaczego fetcher w SWR powinien rzucać błąd przy nieudanych odpowiedziach HTTP?
const fetcher = async (url) => {
const res = await fetch(url);
if (!res.ok) throw new Error("Request failed");
return res.json();
};- ✓Poprawna odpowiedź:
fetchnie odrzuca obietnicy przy 404/500, więc bez wyjątku SWR potraktuje strony błędów jako dane - 2SWR wymaga, by każdy fetcher choć raz rzucił błąd
- 3Wyjątek przyspiesza żądania
Wyjaśnienie
Rzucony błąd trafia do error i uruchamia logikę ponowień SWR. Do błędu można dołączyć status i treść odpowiedzi dla UI.