Типы навигаторов
В React Navigation существует несколько типов навигаторов, каждый из которых решает определённую задачу по организации переходов между экранами. Выбор типа зависит от структуры приложения и ожидаемого пользовательского опыта.
Stack Navigator
Stack.Navigator реализует навигацию по принципу стека: каждый новый экран помещается поверх предыдущего, как веб-страницы в браузере. Пользователь может вернуться назад с помощью кнопки «Назад» или жеста (на iOS). Это наиболее часто используемый тип навигатора для приложений с иерархической структурой.
Пример: переход с экрана списка товаров на экран детального просмотра.
Tab Navigator
Tab.Navigator создаёт нижнюю панель с вкладками (на iOS) или верхнюю/нижнюю панель (на Android, в зависимости от конфигурации). Каждая вкладка представляет собой независимый экран или даже отдельный стек навигации. Подходит для приложений с несколькими основными разделами одинаковой важности.
Пример: вкладки «Главная», «Поиск», «Профиль».
Drawer Navigator
Drawer.Navigator открывает боковое меню («шторку») при свайпе с края экрана или нажатии на иконку меню. Обычно используется для второстепенных разделов или настроек. Может содержать список пунктов, каждый из которых ведёт на свой экран.
Пример: меню с пунктами «Настройки», «Помощь», «Выход».
Эти три типа можно комбинировать. Например, каждая вкладка в Tab.Navigator может содержать свой собственный Stack.Navigator, что позволяет сохранять историю переходов внутри каждого раздела.