Anti-obrasci koje treba izbjegavati
Većina pogrešaka nastaje kada se miješaju imperativni i deklarativni modeli. Držite strogu granicu stanja.
Miješanje push/pop s stranicama
Nemojte pozivati `Navigator.push`/`pop` za stogove koje već kontrolira `List<PageEntry>`.
Widget u stanju
Nemojte stavljati instance `Widget` u metapodatke stranice. Zadržite samo ključeve i identifikatore nalik rutama.
Neograničeni ključevi
Nemojte ponovno koristiti duplicirane vrijednosti `PageEntry.key` u istom stogu.
Popis za provjeru migracije
Koristite ovaj popis za provjeru tijekom pregleda refaktoriranja kako bi arhitektura ostala dosljedna.
Popis za provjeru
Dobro naspram lošeg
// Loše: miješanje imperativnog i deklarativnog pristupa za isti stog
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
// Dobro: ažurirajte samo deklarativno stanje
setState(() {
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
Savjet za pregled
Tijekom pregleda koda pratite tko je vlasnik promjena stoga i odbacite promjene koje mijenjaju isti stog kroz više API-ja.
Prethodno
PreklapanjaSljedeće
Uvod