Получить доступ

Suspense и ленивая загрузка

Основа

Разделение кода по компонентам и показ заглушки, пока что-то загружается.

const Reports = lazy(() => import("./Reports"));

<Suspense fallback={<Spinner />}>
  <Reports />
</Suspense>

lazy загружает код компонента по требованию отдельным файлом, а Suspense показывает заглушку, пока код или данные не готовы.

Что важно знать

  • Ленивая загрузка по маршрутам и для тяжёлых редко используемых частей (редакторы, графики) уменьшает первый бандл.
  • Suspense работает и с данными — в библиотеках, которые его поддерживают (TanStack Query, React Router, Next.js), и с хуком use для промисов.
  • Вложенные границы Suspense дают постепенное появление страницы вместо одного большого спиннера.
  • При SSR Suspense позволяет отправлять HTML потоком: быстрые части приходят сразу, медленные — по готовности.

Документация

← Вся карта «React»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем