Deklaratiivinen navigointi ja overlayt Flutterille.

Ohjaa Navigator 2.0 ‑sivuja ja näyttökohtaisia overlayeita ilman Navigator.push/pop tai showDialog.

Sivut ovat dataa

PageEntry tallentaa vain metatiedot. UI luodaan resolverillasi.

Näyttökohtaiset overlayt

Dialogit ja bottom sheetit rajataan per näyttö ilman globaalia tilaa.

Tilariippumaton

Käytä setStatea, Riverpodia, Blocia tai Provideria. Ei vaadi riippuvuuksia.

Ensiaskeleet

Asenna declarative_nav ja renderöi sivut resolver‑callbackilla.

Asennus

Käyttöopas

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,
    );
  }
}
Tärkeä huomio

Tämä paketti välttää Navigator.push/pop ja showDialog-kutsut. Ohjaa navigointia ja overlayeita tilasta.

Edellinen

Yleiskatsaus

Seuraava

Asennus