Asennus

Add the package, then move navigation and overlays into explicit state. Keep imperative push/pop out of the same stack.

Yksi riippuvuus

Install with one pub command. No code generation setup is required.

Tila ensin -rajapinta

You control a List<PageEntry> and optional OverlayRequest as pure state.

Portaittainen käyttöönotto

Aloita yhdestä ominaisuuden kulusta ja siirry näyttö kerrallaan.

Asenna ja aloita

Käytä pub add -komentoa ja yhdistä sitten sivujen ja overlayn alkuperäinen juuritila.

Komento

Sovelluksen alkuperäinen tila

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

Yhdessä pinossa, PageEntry.key:n on pysyttävä yksilöllisenä sillä siitä tulee Navigatorin sivuidentiteetti.