Гид по технологиям

React Router: настройка маршрутизации в React

6 min read Frontend Обновлено 13 Apr 2026
React Router в React — быстрая настройка
React Router в React — быстрая настройка

Ноутбук, на экране которого отображена общая тема WordPress

TL;DR

React Router — библиотека для маршрутизации в одностраничных приложениях на React. Установите пакет, оберните приложение в BrowserRouter, объявите Routes и Route, используйте Link/NavLink для навигации. Для вложенных маршрутов вынесите набор маршрутов в отдельный компонент и подключите его через путь с маской.

Важно: React Router управляет навигацией на стороне клиента. Для SEO, SSR и глубоких ссылок рассмотрите серверную поддержку или фреймворки с рендерингом на сервере.

Что такое SPA и как сюда вписывается React Router

Одностраничное приложение (SPA) — это сайт или веб‑приложение, которое динамически подгружает и перерисовывает содержимое без полной перезагрузки страницы. В React вы обычно рендерите разные компоненты в одном HTML‑файле. React Router связывает URL с компонентами, позволяя пользователю переключаться между «страницами» без перезагрузки.

Краткое определение терминов:

  • SPA: веб‑приложение, где контент обновляется клиентом без полной загрузки страницы.
  • BrowserRouter: маршрутизатор, использующий History API браузера.
  • Route: правило, которое сопоставляет путь с React‑элементом.
  • Routes: контейнер для Route (замена Switch в v6).

Как установить React Router

Установите пакет через npm в корне проекта:

npm i react-router-dom  

Или с помощью Yarn:

yarn add react-router-dom@6  

Настройка BrowserRouter

Откройте ваш входной файл (обычно index.js) и оберните приложение в BrowserRouter. Это даёт доступ к возможностям маршрутизации по всему дереву компонентов:

import React from 'react';  
import ReactDOM from 'react-dom/client';   
import App from './App';  
import { BrowserRouter } from 'react-router-dom';  
  
const root = ReactDOM.createRoot( document.getElementById('root') );  
  
root.render(  
    
      
    
);  

Объявление маршрутов в App

Routes — это контейнер для отдельных Route. Route принимает path (путь) и element (элемент/компонент для рендера):

import { Routes, Route } from 'react-router-dom';  
import Home from './Home';  
import About from './About';  
import Blog from './Blog';  
  
function App() {  
    return (  
        
         } />  
         } />  
         }/>  
        
    )  
}  
  
export default App;  

Пояснения:

  • path = ‘/‘ — корневой путь; когда вы заходите на корень сайта, отрисуется Home.
  • element = { } — элемент, который рендерит Route.

Навигация: Link и NavLink

Компонент Link заменяет обычную ссылку . Он предотвращает полную перезагрузку и обновляет адрес в истории браузера через History API.

Советы:

Вложенные маршруты (Nested routing)

Вложенные маршруты помогают группировать схожие пути и компоненты. Сначала объявьте отдельные компоненты:

Вариант с реальным вложением:

Лучше выделить набор связанных маршрутов в отдельный компонент и подключать его через путь с подстановкой:

Здесь ‘/article/*’ означает: любая подстрока пути, начинающаяся с /article.

Полезные хуки и приёмы

Примеры:

Лучшие практики

Примечание: React Router управляет навигацией на клиенте. Если ваше приложение должно индексироваться поисковыми ботами или иметь предрендеринг, подумайте о Next.js, Remix или серверной стороне.

Когда React Router может не подойти

Альтернативы и дополнительные опции

Миграция с React Router v5 на v6 — кратко

Ментальные модели (heuristics)

Набор ролей: чек-листы

Разработчик:

DevOps/инфраструктура:

QA / Тестировщик:

Критерии приёмки

Сниппет‑шпаргалка (cheat sheet)

Тесты и примеры приёмки

Короткий глоссарий (1 строка каждого термина)

Короткая методология внедрения маршрутизации

  1. Проанализируйте структуру URL и создайте карту маршрутов.
  2. Установите react-router-dom и добавьте BrowserRouter в корень.
  3. Объявите Routes/Route, вынесите крупные группы маршрутов в отдельные модули.
  4. Добавьте code splitting по маршрутам и обработку ошибок/404.
  5. Тестируйте глубокие ссылки и навигацию браузера.

Когда это не сработает (контрпримеры)

Краткий вывод

React Router — гибкий и мощный инструмент для управления навигацией в SPA на React. Он прост в установке и интеграции, но требует внимания к серверной конфигурации и SEO‑требованиям. Для крупных проектов используйте модульную структуру маршрутов, код‑сплиттинг и автоматизированные тесты.

Дополнительные ресурсы: официальная документация React Router (поиск в интернете), примеры code splitting и статьи про SSR/Next.js для сценариев, где нужен рендер на сервере.

Автор
Редакция

Похожие материалы

Сетевой ресурс недоступен — исправление в Windows
Техподдержка

Сетевой ресурс недоступен — исправление в Windows

Как отложить SMS в Google Messages
Android.

Как отложить SMS в Google Messages

Адаптер Wi‑Fi не найден в Ubuntu — как исправить
Ubuntu

Адаптер Wi‑Fi не найден в Ubuntu — как исправить

Добавление и управление значками в Windows 11
Windows

Добавление и управление значками в Windows 11

Windows 11 не подключается к 5GHz Wi‑Fi — решения
Сеть

Windows 11 не подключается к 5GHz Wi‑Fi — решения

Создать ярлык приложения .desktop в Linux
Linux

Создать ярлык приложения .desktop в Linux