Что это простыми словами

React Navigation — это система переходов между экранами в мобильном приложении.

Аналогия: представьте здание с множеством комнат. Чтобы люди не блуждали, вы вешаете указатели и делаете коридоры — нажал на кнопку, попал на нужный этаж, нажал «Назад» — вернулся туда, откуда пришёл. React Navigation — это как раз эти указатели и правила перемещения внутри вашего приложения.

Без неё разработчику пришлось бы вручную показывать и прятать экраны, помнить, откуда пришёл пользователь, и заново изобретать кнопку «Назад».

Официальное определение

Теперь, когда суть понятна, вот как это описывают в вакансиях и документации. Эту формулировку вы будете встречать у заказчика и в резюме — и теперь понимаете, что за ней стоит.

«React Navigation — библиотека для маршрутизации и навигации в React Native приложениях, предоставляющая нативные паттерны переходов между экранами и управление стеком истории».

Разберём по словам. «Маршрутизация» — это правила, по которым приложение решает, какой экран показать. «Навигация» — сам процесс перехода. «Нативные паттерны» значит, что переходы выглядят так, как привыкли пользователи на iOS или Android: с правильной анимацией, жестами, кнопкой назад. «Стек истории» — это как стопка карточек: открыли новый экран — положили карточку сверху, нажали «Назад» — сняли верхнюю.

Какую задачу решает

Любое приложение — это не одна страница, а десятки экранов: главная, профиль, настройки, детали товара. React Navigation отвечает за три вещи:

  • Переход между экранами: нажали кнопку — открылся новый экран с правильной анимацией.

  • История переходов: кнопка «Назад» возвращает туда, откуда пришли, а не куда попало.

  • Типовые элементы навигации: табы внизу экрана, выдвижное боковое меню, заголовок с кнопками — всё это уже готово, не нужно изобретать заново.

Главная боль, которую это убирает: без библиотеки навигации разработчик тратит время на вещи, которые должны работать «из коробки», и легко ошибается — например, забывает очистить историю, и пользователь попадает не туда.

К какой экосистеме относится

  • Язык — JavaScript (часто вместе с TypeScript).

  • Фреймворк — React Native. Это библиотека именно для мобильной разработки, не для веба.

  • Специальность — мобильный разработчик на React Native. Это ветка frontend-разработки, но нацеленная на мобильные приложения, а не на браузер.

React Navigation — стандарт де-факто в мире React Native. Если в резюме написано «React Native», почти наверняка человек работал с этой библиотекой.

Чем заменяется

Ту же задачу решают:

  • React Router Native — мобильная версия популярной веб-библиотеки. Встречается реже.

  • Expo Router — новое решение от команды Expo, набирает популярность. Работает немного иначе, но идея та же.

Главное: переход между ними дешёвый. Разработчик, который работал с React Navigation, разберётся в Expo Router за несколько дней — задача та же, отличается только «обёртка». Это не разные школы, а разные способы решить одну проблему.

Что не путать

  • React Navigation ≠ React Router. React Router — для веб-приложений в браузере, React Navigation — для мобильных приложений. Разные платформы, разная специфика.

  • React Navigation ≠ React Native. React Native — это сам фреймворк для создания мобильных приложений, React Navigation — лишь одна из библиотек внутри него, отвечающая за переходы между экранами.

  • React Navigation ≠ Expo. Expo — это инструментарий для удобной разработки на React Native, а React Navigation часто используется внутри Expo-проектов. Они работают вместе, а не вместо друг друга.

Насколько это важно при отборе

Короткий ответ: обычно это НЕ повод отбраковывать кандидата.

React Navigation — самая распространённая библиотека навигации в React Native, и большинство разработчиков работали именно с ней. Но если в резюме указан Expo Router или React Router Native, это не брак: задача та же, и человек освоит React Navigation за считаные дни.

Самая частая ошибка новичка-рекрутера — жёстко требовать «React Navigation» и отсеивать сильных кандидатов с опытом в других решениях. Отсеивая по конкретной библиотеке навигации, вы теряете хороших людей.

Правильный подход: смотрите, есть ли у кандидата опыт с любой библиотекой навигации в мобильной разработке. Если есть — этого достаточно. Если в вакансии жёстко написано «только React Navigation», уточните у нанимающего менеджера, действительно ли это принципиально.

Когда всё же стоит обратить внимание: если у кандидата в резюме вообще не упомянута ни одна библиотека навигации, а вакансия предполагает сложное мобильное приложение с множеством экранов — это повод спросить, как он организовывал переходы между экранами в проектах.

Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.