Deklaratīva navigācija un overlayi Flutter.
Pārvaldiet Navigator 2.0 lapas un ekrāna lokālos overlayus bez Navigator.push/pop vai showDialog.
Lapas ir dati
PageEntry glabā tikai metadatus. UI izveido jūsu resolveris.
Ekrāna lokālie overlayi
Dialogi un bottom sheet tiek ierobežoti katrā ekrānā bez globāla stāvokļa.
Neatkarīgs no stāvokļa
Lietojiet setState, Riverpod, Bloc vai Provider. Nav nepieciešamas atkarības.
Pirmie soļi
Instalējiet declarative_nav un renderējiet lapas ar resolver callback.
Instalēšana
Lietošanas ceļvedis
class AppRootState extends State<AppRoot> {
OverlayRequest? _overlay;
late List<PageEntry> _pages;
@override
void initState() {
super.initState();
_pages = const [PageEntry(key: 'home', name: '/home')];
}
Widget build(BuildContext context) {
return DeclarativePagesNavigator(
pages: _pages,
buildPage: _buildPage,
onPopTop: _popTop,
canPopTop: () => _overlay == null,
);
}
}
Svarīga piezīme
Šī pakete izvairās no Navigator.push/pop un showDialog izsaukumiem. Vadiet navigāciju un overlayus no stāvokļa.
Iepriekšējais
PārskatsNākamais
Instalēšana