Что это простыми словами
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», уточните у нанимающего менеджера, действительно ли это принципиально.
Когда всё же стоит обратить внимание: если у кандидата в резюме вообще не упомянута ни одна библиотека навигации, а вакансия предполагает сложное мобильное приложение с множеством экранов — это повод спросить, как он организовывал переходы между экранами в проектах.
Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.