Перейти к основному содержимому

React — Router, данные с API и оптимизация


React Router (v6)

npm install react-router-dom

Код ITЗагрузка примера кода…

APIНазначение
useParams():id из пути
useSearchParams()?page=1
useNavigate()программный переход
<Outlet />вложенные маршруты

Подробный минимум — Первая программа на React.


Данные с сервера

Паттерн loading / data / error:

Код ITЗагрузка примера кода…

Шаблоны fetch и axios — /lab/Примеры/1145. Учебное API "Заметки" — Node 262. CORS и два порта — Fullstack на JavaScript — API и фронтенд.

Для крупных приложений — TanStack Query (useQuery, кэш, повторные запросы).


Lazy loading и Suspense

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

<Suspense fallback={<p>Загрузка…</p>}>
<Profile />
</Suspense>

Код страницы уходит в отдельный chunk — быстрее первая загрузка.

Ошибки загрузки — Error Boundary (класс или react-error-boundary).


Оптимизация

ИнструментКогда
React.memoТяжёлый компонент с стабильными props
useMemoДорогое вычисление
useCallbackСтабильный колбэк для memo-ребёнка
react-windowДлинные списки

Сначала измеряйте в React DevTools Profiler.


Экосистема вокруг React

Сборку чаще делают на Vite; для SSR и файловых маршрутов берут Next.js. Стили — CSS Modules, Tailwind или готовые наборы вроде MUI. Глобальное состояние — Zustand или Redux Toolkit. Тесты — Vitest и React Testing Library.

ЗадачаПримеры инструментов
СборкаVite, Next.js
СтилиCSS Modules, Tailwind, MUI
StateZustand, Redux Toolkit
ТестыVitest, React Testing Library
SSRNext.js

Связанные материалы