Керування станом · Junior · Запитання 67 з 75
Чому fetcher у SWR має кидати помилку за неуспішних HTTP-відповідей?
const fetcher = async (url) => {
const res = await fetch(url);
if (!res.ok) throw new Error("Request failed");
return res.json();
};- ✓Правильна відповідь:
fetchне відхиляється на 404/500, тому без винятку SWR сприйме сторінки помилок як дані - 2SWR вимагає, щоб кожен fetcher хоч раз кинув помилку
- 3Виняток пришвидшує запити
Пояснення
Кинута помилка потрапляє в error і вмикає логіку повторів SWR. До помилки можна додати status і тіло відповіді для UI.