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.

Nākamais

Ievads