Deklaratyvi navigacija ir overlay'ai Flutteriui.

Valdykite Navigator 2.0 puslapius ir ekrano lokalinius overlay'us be Navigator.push/pop ar showDialog.

Puslapiai yra duomenys

PageEntry saugo tik metaduomenis. UI sukuria jūsų resolveris.

Ekrano lokalūs overlay'ai

Dialogai ir bottom sheet'ai yra ribojami kiekvienam ekranui be globalaus būsenos.

Nepriklausoma nuo būsenos

Naudokite setState, Riverpod, Bloc ar Provider. Priklausomybių nereikia.

Pirmieji žingsniai

Įdiekite declarative_nav ir renderinkite puslapius per resolverio callback.

Diegimas

Naudojimo vadovas

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,
    );
  }
}
Svarbi pastaba

Šis paketas vengia Navigator.push/pop ir showDialog iškvietimų. Valdykite navigaciją ir overlay'us iš būsenos.

Ankstesnis

Apžvalga