Installazione

Aggiungi il pacchetto, poi sposta navigazione e overlay in uno stato esplicito. Mantieni push/pop imperativi fuori dallo stesso stack.

Dipendenza singola

Installa con un solo comando pub. Non serve alcuna configurazione per la generazione del codice.

API incentrata sullo stato

Controlli una List<PageEntry> e un OverlayRequest opzionale come stato puro.

Adozione graduale

Parti da un solo flusso di funzionalità e migra schermata per schermata.

Installazione e inizializzazione

Usa `pub add`, poi collega lo stato radice iniziale per pagine e overlay.

Comando

Stato iniziale dell'app

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'),
    ];
  }
}
Vincolo

Dentro un solo stack, PageEntry.key deve restare univoca perché diventa l'identità della pagina del Navigator.