Навигация между экранами
Объект navigation автоматически передаётся каждому компоненту-экрану в React Navigation. С его помощью можно управлять переходами и изменять состояние навигационного стека.
Основные методы
navigation.navigate(name, params?) — выполняет переход на экран с указанным именем. Если такой экран уже есть в стеке, навигация перейдёт к нему без создания дубликата. Вторым аргументом можно передать параметры:
navigation.navigate('Profile', { userId: 42 });
navigation.goBack() — возвращает пользователя на предыдущий экран. Эквивалентно нажатию системной кнопки «Назад» или жесту свайпа (на iOS).
navigation.replace(name, params?) — заменяет текущий экран на новый. Пользователь не сможет вернуться назад на заменённый экран, так как он удаляется из стека:
navigation.replace('Login');
navigation.popToTop() — возвращает пользователя к первому экрану в стеке, удаляя все промежуточные экраны. Полезно, например, после завершения многошагового процесса.
Эти методы работают в пределах одного навигатора (например, одного Stack.Navigator). Для переходов между разными навигаторами (например, из стека во вкладку) требуется дополнительная настройка, которая выходит за рамки базовой навигации.