Что это простыми словами
React Router — это навигатор внутри приложения, который переключает страницы без перезагрузки браузера.
Аналогия: обычный сайт работает как книга — чтобы перейти на другую страницу, браузер загружает её заново целиком, как будто вы перелистываете страницу. React Router работает как интерактивная презентация: когда вы нажимаете на ссылку, меняется только нужная часть экрана, а остальное остаётся на месте. Адрес в браузере обновляется, но сама страница не мигает и не грузится заново.
Благодаря этому приложение работает быстро и плавно, как мобильное приложение, хотя это обычный сайт.
Официальное определение
Теперь, когда суть понятна, вот как React Router описывают в вакансиях и документации. Эту формулировку вы встретите у заказчика и в резюме — и теперь будете понимать, что за ней стоит.
«React Router — декларативная библиотека для клиентского роутинга в одностраничных React-приложениях».
Разберём по словам. «Декларативная» значит, что разработчик описывает, какие страницы должны быть и какой адрес к какой странице ведёт, а библиотека сама разбирается, как это сделать. «Клиентский роутинг» — навигация происходит в браузере, без обращения к серверу за новой страницей. «Одностраничное приложение» (SPA) — технически это одна HTML-страница, которая меняет своё содержимое, создавая иллюзию перехода между страницами.
Какую задачу решает
React сам по себе умеет только показывать и обновлять содержимое страницы. Он не знает, как делать навигацию: переходить с главной на страницу товара, возвращаться назад кнопкой браузера, показывать правильный адрес в строке.
React Router добавляет эту возможность. Он следит за адресом в браузере и показывает нужный компонент, когда адрес меняется. При этом браузер не перезагружает страницу — всё происходит мгновенно, данные и состояние приложения сохраняются.
Побочная польза: адрес в браузере остаётся рабочим — его можно скопировать, отправить другу или сохранить в закладки, и он откроет ровно ту страницу, которая нужна.
К какой экосистеме относится
Язык — JavaScript (часто вместе с TypeScript).
Фреймворк — только React. Это библиотека строго для React, в других фреймворках она не работает.
Специальность — frontend-разработчик.
React Router — одна из самых распространённых библиотек в экосистеме React. Если проект на React имеет несколько страниц, скорее всего там используется React Router или один из его аналогов.
Чем заменяется
Главный современный аналог — TanStack Router. Он решает ту же задачу: навигация внутри React-приложения без перезагрузки страницы. В одном проекте обычно используют что-то одно.
Главное: переход между ними дешёвый. Разработчик, который работал с React Router, разберётся в TanStack Router за несколько дней — идея одна, меняется только способ описания маршрутов.
Отдельный случай — Next.js. Это не библиотека роутинга, а полноценный фреймворк поверх React, где роутинг уже встроен. Если проект написан на Next.js, React Router там не нужен — роутинг работает по-другому, через файловую структуру.
Что не путать
React Router ≠ React. React — это сам фреймворк для интерфейса, React Router — лишь одна из библиотек рядом с ним. Приложение на React может работать и без React Router, если оно не требует навигации между страницами.
React Router ≠ Next.js. Next.js — это целый фреймворк со своим встроенным роутингом, а React Router — библиотека только для навигации. Это не взаимозаменяемые вещи: Next.js заменяет React целиком, включая роутинг.
React Router ≠ серверный роутинг. Серверный роутинг — это когда сервер решает, какую страницу отдать по адресу. React Router работает в браузере, сервер отдаёт одну и ту же страницу, а дальше уже браузер разбирается, что показать.
React Router ≠ Redux. Redux управляет данными внутри приложения, React Router — навигацией между страницами. Это две разные задачи, и они часто используются вместе в одном проекте.
Насколько это важно при отборе
Короткий ответ: обычно это НЕ повод отбраковывать кандидата.
Самая частая ошибка — отсеивать сильного React-разработчика только потому, что у него в резюме указан TanStack Router, а в вакансии написано React Router. Переход между библиотеками роутинга занимает несколько дней, потому что задача одна и та же.
Правильный подход: смотрите, есть ли у кандидата опыт с каким-либо решением для навигации в React. Если есть — этого достаточно. Если в вакансии жёстко написано «только React Router», уточните у нанимающего менеджера, действительно ли это критично: часто оказывается, что нет.
Когда всё же стоит обратить внимание: если у кандидата вообще нет опыта с многостраничными приложениями и роутингом, а вакансия предполагает сложный интерфейс с навигацией — это повод уточнить, работал ли он с подобными задачами.
Отдельный случай: если кандидат работал только с Next.js, он может не знать React Router — там роутинг устроен принципиально по-другому. Но это не минус: опыт с Next.js показывает, что человек работал со сложными проектами, а React Router при необходимости освоит.
Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.