Installation

Ajoutez le package, puis faites passer la navigation et les overlays dans un état explicite. Gardez les opérations push/pop impératives hors de la même pile.

Single dependency

Installez-le avec une seule commande pub. Aucune configuration de génération de code n’est requise.

State-first API

Vous contrôlez une List<PageEntry> et un OverlayRequest optionnel sous forme d’état pur.

Incremental adoption

Commencez par un seul flux de fonctionnalité, puis migrez écran par écran.

Installation et initialisation

Utilisez `pub add`, puis raccordez l’état racine initial pour les pages et les superpositions.

Commande

État initial de l’application

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

Inside one stack, PageEntry.key must stay unique because it becomes the Navigator page identity.