Flutter માટે જાહેરકૃત નેવિગેશન અને ઓવરલેઝ.
Navigator.push/pop અથવા showDialog વિના Navigator 2.0 પેજો અને સ્ક્રીન-લોકલ ઓવરલેઝને નિયંત્રિત કરો.
પેજો ડેટા છે
PageEntry ફક્ત મેટાડેટા સંગ્રહે છે. UI તમારો રીઝોલ્વર બનાવે છે.
સ્ક્રીન-લોકલ ઓવરલેઝ
ડાયલોગ્સ અને બોટમ શીટ્સ દરેક સ્ક્રીન પર મર્યાદિત, ગ્લોબલ સ્ટેટ વિના.
સ્ટેટ-નિરપેક્ષ
setState, Riverpod, Bloc અથવા Provider વાપરો. કોઈ ડિપેન્ડન્સી જરૂરી નથી.
પ્રથમ પગલાં
declarative_nav ઇન્સ્ટોલ કરો અને રીઝોલ્વર કૉलबેકથી પેજો રેન્ડર કરો.
ઇન્સ્ટોલેશન
flutter pub add declarative_nav
ઉપયોગ માર્ગદર્શિકા
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,
);
}
}
મહત્વપૂર્ણ નોંધ
આ પેકેજ ટાળે છે Navigator.push/pop અને showDialog કૉલ્સ. સ્ટેટમાંથી નેવિગેશન અને ઓવરલેઝને ચલાવો.
પાછલું
ઝલકઆગલું
ઇન્સ્ટોલેશન