Keyrðu Navigator 2.0 út frá stöðu.
declarative_nav gerir þér kleift að stjórna síðum og yfirlögum sem venjulegri stöðu án þess að kalla beint á Navigator.push/pop eða showDialog.
Síður sem gögn
PageEntry heldur ekki Widget-týpum. Viðmótið er smíðað í gegnum resolver-kallið þitt.
Skjábundin yfirlög
Dialogar og sheets geta verið afmörkuð við skjá, þar á meðal staðbundna flipastöðu þegar þarf.
Óháð stöðustjórnun
Virkar með setState, Riverpod, Bloc, Provider eða hvaða stöðulagi sem er.
Upphafsflæði
Settu pakkann upp og færðu síðan síður og yfirlög yfir í skýra stöðu.
Uppsetning
Upphafsform
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,
);
}
}
Grunnregla
Ekki blanda skipanabundnu push/pop og yfirlýsandi List<PageEntry> fyrir sama stafla. Einn sannleiksgjafi kemur í veg fyrir að leiðsögn fari á reiki.
Fyrra
OSSNæst
Uppsetning