Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React Router: optimization

Как использовать Suspense и lazy для загрузки компонентов маршрутов?

Этот вопрос проверяет знание работы с React.lazy и Suspense

Короткий ответ

React.lazy используется для ленивого импорта компонентов, а Suspense позволяет показывать индикатор загрузки, пока компонент загружается.

Длинный ответ

React.lazy и Suspense работают вместе, чтобы облегчить загрузку больших компонентов или страниц. Основная идея заключается в том, чтобы загружать компоненты только тогда, когда они действительно нужны.

Настройка React.lazy:

Используйте функцию React.lazy для ленивого импорта:

const Profile = lazy(() => import('./Profile'));

Использование Suspense:

Оберните маршруты или компоненты в <Suspense> для обработки состояния загрузки:

import { Suspense } from 'react';
const App = () => (
	<Suspense fallback={<div>Loading...</div>}>
		<Routes>
			<Route path="/profile" element={<Profile />} />
		</Routes>
	</Suspense>
);

Преимущества:

  • Компоненты подгружаются только при их использовании.

  • Уменьшается время загрузки главной страницы приложения.

Пример с вложенными маршрутами:

Работает и с вложенными маршрутами:

const Dashboard = lazy(() => import('./Dashboard'));
const Settings = lazy(() => import('./Settings'));
const App = () => (
	<Suspense fallback={<div>Loading...</div>}>
		<Routes>
			<Route path="/dashboard" element={<Dashboard />}>
				<Route path="settings" element={<Settings />} />
			</Route>
		</Routes>
	</Suspense>
);

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

Уровень

  • Рейтинг:

    5

  • Сложность:

    9

Навыки

  • React Router

    React Router

Ключевые слова

#optimization

Подпишись на React Developer в телеграм