Вопрос проверяет понимание механизма кэширования запросов в библиотеке SWR для React, включая стратегии stale-while-revalidate и управление кэшем.
SWR (stale-while-revalidate) — это библиотека для выборки данных в React, которая реализует стратегию кэширования HTTP. Основная идея заключается в том, чтобы сначала показать пользователю устаревшие (stale) данные из кэша, а затем в фоне выполнить запрос на сервер для получения свежих данных. Это позволяет интерфейсу быть отзывчивым и не ждать завершения сетевого запроса.
useSWR выполняется запрос к серверу, результат сохраняется в кэш.import useSWR from 'swr';
const fetcher = (url) => fetch(url).then(res => res.json());
function Profile() {
const { data, error } = useSWR('/api/user', fetcher);
if (error) return <div>Ошибка загрузки</div>;
if (!data) return <div>Загрузка...</div>;
return <div>Привет, {data.name}!</div>;
}SWR использует глобальный кэш по умолчанию, но можно настроить собственный провайдер кэша. Ключ запроса (первый аргумент useSWR) служит идентификатором для кэширования. Если ключ меняется, старый кэш для предыдущего ключа остаётся, но новый запрос выполняется заново.
Кэширование в SWR идеально подходит для приложений, где важна скорость отклика и актуальность данных, например, в дашбордах или социальных сетях. Оно уменьшает задержки и снижает нагрузку на сервер, автоматически обновляя данные при необходимости.
Уровень
Рейтинг:
4
Сложность:
5
Навыки
JavaScript
React
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию