Deklaratiivne navigeerimine ja overlay'd Flutteri jaoks.

Juhi Navigator 2.0 lehti ja ekraanipõhiseid overlay'sid ilma Navigator.push/pop või showDialog.

Lehed on andmed

PageEntry salvestab ainult metaandmed. UI luuakse sinu resolveri poolt.

Ekraanipõhised overlay'd

Dialoogid ja bottom sheet'id on iga ekraani piires ilma globaalse olekuta.

Olekust sõltumatu

Kasuta setState, Riverpod, Bloc või Provider. Sõltuvusi pole vaja.

Esimesed sammud

Paigalda declarative_nav ja renderda lehed resolveri callback'iga.

Paigaldus

Kasutusjuhend

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

  @override
  void initState() {
    super.initState();
    _pages = const [PageEntry(key: 'home', name: '/home')];
  }

  Widget build(BuildContext context) {
    return DeclarativePagesNavigator(
      pages: _pages,
      buildPage: _buildPage,
      onPopTop: _popTop,
      canPopTop: () => _overlay == null,
    );
  }
}
Oluline märkus

See pakett väldib Navigator.push/pop ja showDialogi väljakutseid. Juhi navigeerimist ja overlay'sid oleku kaudu.

Eelmine

Ülevaade

Järgmine

Paigaldus