Flutter üçün deklarativ naviqasiya və örtüklər.
Navigator.push/pop və ya showDialog olmadan Navigator 2.0 səhifələrini və ekran-daxili örtükləri idarə edin.
Səhifələr məlumatdır
PageEntry yalnız metadata saxlayır. UI resolveriniz tərəfindən yaradılır.
Ekran-daxili örtüklər
Dialoqlar və alt vərəqlər hər ekran üçün məhdudlaşdırılır, qlobal vəziyyət yoxdur.
Vəziyyətdən asılı deyil
setState, Riverpod, Bloc və ya Provider istifadə edin. Heç bir asılılıq tələb olunmur.
İlk addımlar
declarative_nav quraşdırın və səhifələri resolver callback ilə render edin.
Quraşdırma
flutter pub add declarative_nav
İstifadə bələdçisi
app_root.dart
class AppRoot extends StatefulWidget {
const AppRoot({super.key});
@override
State<AppRoot> createState() => _AppRootState();
}
class _AppRootState extends State<AppRoot> {
OverlayRequest? _overlay;
late List<PageEntry> _pages;
@override
void initState() {
super.initState();
_pages = const [PageEntry(key: 'home', name: '/home')];
}
Widget buildPage(BuildContext context, PageEntry page) {
return HomePage(onOpenDialog: _openDialog);
}
@override
Widget build(BuildContext context) {
return DeclarativePagesNavigator(
pages: _pages,
buildPage: buildPage,
onPopTop: _popTop,
canPopTop: () => _overlay == null,
);
}
}
Vacib qeyd
Bu paket Navigator.push/pop və showDialog çağırışlarından qaçır. Naviqasiya və örtükləri vəziyyətdən idarə edin.
Əvvəlki
Ümumi baxışNövbəti
Quraşdırma