Ответ
Navigator 1.0 — это императивный API для управления навигацией, основанный на стеке объектов Route. Он предоставляет простые методы для перехода между экранами (страницами).
Основные методы:
Navigator.push(context, route)— добавляет новый маршрут в стек.Navigator.pop(context)— удаляет текущий маршрут из стека, возвращаясь назад.Navigator.pushReplacement(context, newRoute)— заменяет текущий маршрут новым.Navigator.pushAndRemoveUntil(context, newRoute, (route) => false)— добавляет новый маршрут и удаляет все предыдущие из стека.
Пример использования:
// Переход на экран DetailsScreen
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const DetailsScreen()),
);
// Возврат на предыдущий экран
Navigator.pop(context);
Когда использовать:
- Для простых приложений с предсказуемым линейным потоком экранов.
- Когда не требуется сложная обработка глубоких ссылок (deep links) или декларативная конфигурация навигации.
Недостаток: Управление состоянием навигации (стеком) и синхронизация его с URL (на Web) или deep links (на мобильных) становится сложной задачей в больших приложениях, что привело к появлению Navigator 2.0 (Router API).