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

Preklapanja

Sljedeće

Uvod