Flutter க்கான அறிவிப்புப் பாணி நெவிகேஷன் மற்றும் ஓவர்லேக்கள்.
Navigator.push/pop அல்லது showDialog இன்றி Navigator 2.0 பக்கங்களையும் திரை-உள்ளூர் ஓவர்லேக்களையும் கட்டுப்படுத்துங்கள்.
பக்கங்கள் என்பது தரவு
PageEntry மெட்டாடேட்டாவை மட்டுமே வைத்திருக்கிறது. UI உங்கள் resolver மூலம் உருவாக்கப்படுகிறது.
திரை-உள்ளூர் ஓவர்லேக்கள்
Dialog மற்றும் bottom sheet கள் திரை ஒவ்வொன்றுக்கும் கட்டுப்படுத்தப்படுகின்றன, உலகளாவிய நிலை இல்லை.
நிலைக்கு சார்பற்றது
setState, Riverpod, Bloc அல்லது Provider பயன்படுத்துங்கள். சார்புகள் தேவையில்லை.
முதல் படிகள்
declarative_nav ஐ நிறுவி resolver callback மூலம் பக்கங்களை render செய்யுங்கள்.
நிறுவல்
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 அழைப்புகளைத் தவிர்க்கிறது. நெவிகேஷன் மற்றும் ஓவர்லேக்களை நிலைமையிலிருந்து இயக்குங்கள்.