Síður sem gögn, UI í gegnum resolver
Geymdu aðeins lýsigögn í PageEntry. Notaðu buildPage til að varpa hverjum síðulykli yfir í raunverulegt widget.
Raðkvæmanleg staða
PageEntry er venjuleg gögn, þannig að hægt er að skrá, bera saman og endurspila leiðsagnarstöðu.
Einfaldur resolver
switch á page.key heldur leiðavali skýru og yfirferðarhæfu.
Einn sannleiksgjafi
Push og pop eru listaaðgerðir á _pages, ekki hliðaráhrif.
Resolver-mynstur
Byggðu eftir síðulykli og breyttu síðulistanum yfirlýsandi.
Regla um síðustöðu
Resolver-dæmi
Widget _buildPage(BuildContext context, PageEntry page) {
switch (page.key) {
case 'home':
return HomePage(onGoDetail: _goDetail);
case 'detail':
return const DetailPage();
default:
return const SizedBox.shrink();
}
}
void _goDetail() {
setState(() => _pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')]);
}
Haltu lýsigögnum léttum
Forðastu að setja Widget-tilvik í leiðsagnarstöðu og haltu PageEntry sem hreinum lýsigögnum til að viðhald verði auðveldara.
Fyrra
UppsetningNæst
Yfirlög