Flutter için bildirime dayalı gezinme ve overlay'ler.

Navigator.push/pop veya showDialog olmadan Navigator 2.0 sayfalarını ve ekran yerel overlay'leri yönetin.

Sayfalar veridir

PageEntry yalnızca metaveri saklar. UI, resolver'ınız tarafından oluşturulur.

Ekran yerel overlay'ler

Diyaloglar ve bottom sheet'ler küresel durum olmadan ekrana göre sınırlandırılır.

Durumdan bağımsız

setState, Riverpod, Bloc veya Provider kullanın. Bağımlılık gerekmez.

İlk adımlar

declarative_nav'ı kurun ve sayfaları resolver callback ile render edin.

Kurulum

Kullanım Kılavuzu

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,
    );
  }
}
Önemli Not

Bu paket Navigator.push/pop ve showDialog çağrılarını önler. Gezinme ve overlay'leri durumdan yönetin.