Flutterಗಾಗಿ ಘೋಷಣಾತ್ಮಕ ನ್ಯಾವಿಗೇಶನ್ ಮತ್ತು ಓವರ್‌ಲೆಗಳು.

Navigator.push/pop ಅಥವಾ showDialog ಇಲ್ಲದೆ Navigator 2.0 ಪುಟಗಳು ಮತ್ತು ಸ್ಕ್ರೀನ್-ಲೋಕಲ್ ಓವರ್‌ಲೆಗಳನ್ನು ನಿಯಂತ್ರಿಸಿ.

ಪುಟಗಳು ಡೇಟಾ

PageEntry ಕೇವಲ ಮೆಟಾಡೇಟಾವನ್ನು ಇಡುತ್ತದೆ. UI ನಿಮ್ಮ resolver ಮೂಲಕ ನಿರ್ಮಿಸಲಾಗುತ್ತದೆ.

ಸ್ಕ್ರೀನ್-ಲೋಕಲ್ ಓವರ್‌ಲೆಗಳು

ಡೈಲಾಗ್‌ಗಳು ಮತ್ತು ಬಾಟಮ್ ಶೀಟ್‌ಗಳು ಪ್ರತಿ ಸ್ಕ್ರೀನ್‌ಗೆ ಮಿತವಾಗಿವೆ, ಗ್ಲೋಬಲ್ ಸ್ಟೇಟ್ ಇಲ್ಲದೆ.

ಸ್ಟೇಟ್-ಅಗ್ರಹಕ

setState, Riverpod, Bloc ಅಥವಾ Provider ಬಳಸಿ. ಯಾವುದೇ ಅವಲಂಬನೆ ಬೇಕಾಗಿಲ್ಲ.

ಮೊದಲ ಹಂತಗಳು

declarative_nav ಅನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ ಮತ್ತು resolver callback ಮೂಲಕ ಪುಟಗಳನ್ನು ರೆಂಡರ್ ಮಾಡಿ.

ಇನ್‌ಸ್ಟಾಲೇಶನ್

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 ಕರೆಗಳನ್ನು ತಪ್ಪಿಸುತ್ತದೆ. ಸ್ಟೇಟ್‌ನಿಂದ ನ್ಯಾವಿಗೇಶನ್ ಮತ್ತು ಓವರ್‌ಲೆಗಳನ್ನು ನಡೆಸಿ.

ಹಿಂದಿನದು

ಒವರ್‌ವ್ಯೂ