Nutzungshandbuch

Füge das Paket hinzu und verlagere Navigation und Overlays dann in einen expliziten Zustand. Halte imperatives push/pop aus demselben Stack heraus.

Einzelne Abhängigkeit

Installiere es mit nur einem pub-Befehl. Es ist kein Setup für Codegenerierung nötig.

Zustandsorientierte API

Du steuerst eine List<PageEntry> und eine optionale OverlayRequest als reinen Zustand.

Schrittweise Einführung

Beginne mit einem Funktionsfluss und migriere Bildschirm für Bildschirm.

Installieren und initialisieren

Verwende pub add und verdrahte dann den initialen Root-Zustand für Seiten und Overlay.

Befehl

Initialer App-Zustand

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'),
    ];
  }
}
Einschränkung

Innerhalb eines Stacks, muss PageEntry.key eindeutig bleiben weil es zur Seitenidentität im Navigator wird.