Jāizvairās no šādiem bieži sastopamiem kļūdu modeļiem.
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.
Apvienojot "push/pop" funkcijas ar lapām.
Neizmantojiet metodes Navigator.push un Navigator.pop, ja stieks jau tiek kontrolēts ar List<PageEntry>.
Vadīklis noteiktā stāvoklī.
Neiekļaujiet "Widget" instancu informāciju lapas metadatiem. Saglabājiet tikai atslēgas un identifikatorus, kas atgādina maršrutus.
Neierobežotas atslēgas.
Neizmantojiet dublikātus `PageEntry.key` vērtību vienā un tajā pašā datu blokā.
Migrācijas kontrolsaraksts.
Izmantojiet šo kontrolsarakstu pārbaudot kodu pārstrukturēšanas procesus, lai nodrošinātu arhitektūras konsekvenci.
Kontrolliste.
Labs pret slikto.
// Ļoti slikti: jaukšana starp pavēļu un deklaratīvo pieeju vienai un tai pašai datu struktūrai.
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
// Labi: atjaunina tikai deklaratīvo stāvokli.
setState(() {
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
Padoms recenzijām.
Koda pārskatīšanas laikā, sekojiet līdzi... kam pieder "stack" mutācijas? un ignorēt izmaiņas, kas maina to pašu datu struktūru, izmantojot vairākas API.
Iepriekšējais.
Aizmugures apstrāde.Nākamā lapa.
Ievads.