Antipatterni, no kuriem jāizvairās
Lielākā daļa kļūdu rodas, kad tiek sajaukti imperatīvie un deklaratīvie modeļi. Ievērojiet stingru stāvokļa robežu.
push/pop jaukšana ar lapām
Neizmantojiet metodes Navigator.push un Navigator.pop, ja steks jau tiek kontrolēts ar List<PageEntry>.
Logrīks stāvoklī
Neiekļaujiet logrīku instances lapas metadatos. Saglabājiet tikai atslēgas un maršrutiem līdzīgus identifikatorus.
Atkārtotas atslēgas
Neizmantojiet atkārtotas `PageEntry.key` vērtības vienā un tajā pašā stekā.
Migrācijas kontrolsaraksts
Izmantojiet šo kontrolsarakstu kodu pārskatīšanā (refaktorēšanā), lai saglabātu arhitektūras konsekvenci.
Kontrolsaraksts
Labi un slikti piemēri
// Slikti: imperatīvās un deklaratīvās pieejas jaukšana vienam un tam pašam stekam
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
// Labi: tiek atjaunināts tikai deklaratīvais stāvoklis
setState(() {
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
Padoms koda pārskatīšanai
Koda pārskatīšanas laikā sekojiet līdzi, kurš atbild par steka modifikācijām un noraidiet izmaiņas, kas modificē to pašu steku, izmantojot vairākas API.
Iepriekšējais
Atpakaļgaitas apstrādeNākamais
Ievads