> Как работает lazy загрузка в useSWR (React)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Библио-Глобус
Стек: React
> Пример ответа
Lazy-загрузка в useSWR реализуется через параметр revalidateIfStale: false в комбинации с условной выборкой. Основная идея - отложить выполнение запроса до момента, когда данные действительно понадобятся, например, при открытии модального окна или скролле до элемента.
Пример:
JSXconst { data } = useSWR(shouldFetch ? '/api/data' : null, fetcher);
Когда shouldFetch равен false, SWR не выполняет запрос, а возвращает undefined. Как только условие становится истинным, запрос запускается автоматически. Это позволяет избежать ненужных сетевых вызовов при начальном рендере.
Дополнительно можно использовать useSWRImmutable для кэширования без автоматической ревалидации, или настроить dedupingInterval для контроля частоты запросов. Такой подход эффективен для больших списков, данных, загружаемых по требованию, или для компонентов, которые монтируются позже (например, вкладки или аккордеоны).
> Похожие задачи по frontend
Какое initial value можно передать в useState в React?
Какие опции есть у useSWR или useSWRData
Как вызвать useSWR по нажатию на кнопку, чтобы он не вызывался сразу
Как работает useState в Next.js и является ли состояние глобальным или локальным для страницы
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью