Установка

Добавьте пакет, затем переведите навигацию и оверлеи в явное состояние. Не смешивайте императивные push/pop в одном стеке.

Одна зависимость

Установка одной командой pub. Настраивать генерацию кода не требуется.

API, ориентированный на состояние

Вы управляете List<PageEntry> и необязательным OverlayRequest как чистым состоянием.

Постепенное внедрение

Начните с одного сценария и переносите его экран за экраном.

Установка и инициализация

Используйте pub add, затем подключите начальное корневое состояние для страниц и оверлея.

Команда

Начальное состояние приложения

import 'package:declarative_nav/declarative_nav.dart';

class _AppRootState extends State<AppRoot> {
  OverlayRequest? _overlay;
  late List<PageEntry> _pages;

  @override
  void initState() {
    super.initState();
    _pages = const [
      PageEntry(key: 'home', name: '/home'),
    ];
  }
}
Ограничение

Внутри одного стека, PageEntry.key должен оставаться уникальным потому что она становится идентификатором страницы Navigator.

Предыдущая

Установка

Следующая

Оверлеи