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