Pages kama Data, UI kupitia Resolver
Hifadhi metadata pekee ndani ya PageEntry. Tumia buildPage kuoanisha kila page key na widget halisi.
State inayoweza kusafirishwa
PageEntry ni data tupu, hivyo hali ya urambazaji inaweza kuwekwa kwenye logi, kulinganishwa, na kurudiwa.
Resolver rahisi
switch kwenye page.key huweka routing kuwa wazi na rahisi kukaguliwa.
Chanzo kimoja cha ukweli
Push na pop ni operesheni za orodha juu ya _pages, si athari za pembeni.
Muundo wa Resolver
Jenga kwa page key na ubadilishe orodha ya kurasa kwa njia ya declarative.
Sera ya hali ya kurasa
Mfano wa Resolver
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')]);
}
Weka Metadata Nyepesi
Epuka kuweka instances za Widget ndani ya hali ya urambazaji na udumishe PageEntry kama metadata safi kwa urahisi wa matengenezo.
Iliyotangulia
UsakinishajiIfuatayo
Overlays