Välditavad mustrid
Enamik vigu tekib siis, kui imperatiivsed ja deklaratiivsed mudelid segatakse. Hoia oleku piir rangelt paigas.
push/pop'i segamine lehtedega
Ära kasuta Navigator.push/pop'i nende stack'ide puhul, mida List<PageEntry> juba juhib.
Widget state'is
Ära pane Widgeti eksemplare lehe metaandmetesse. Hoia alles ainult võtmed ja marsruudilaadsed identifikaatorid.
Korduvad võtmed
Ära kasuta sama PageEntry.key väärtust samas stack'is mitu korda.
Ülemineku kontrollnimekiri
Kasuta seda kontrollnimekirja refaktoreerimise ülevaatuste ajal, et arhitektuur püsiks järjepidev.
Kontrollnimekiri
Hea vs halb
// Halb: imperatiivse ja deklaratiivse lähenemise segamine sama stack'i jaoks
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
// Hea: uuenda ainult deklaratiivset olekut
setState(() {
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
Ülevaatuse nõuanne
Koodiarvustuse ajal jälgi kes vastutab stack'i muudatuste eest ja lükka tagasi muudatused, mis muudavad sama stack'i mitme API kaudu.
Eelmine
ÜlekattedJärgmine
Sissejuhatus