Modele negative që duhet të evituar.

Shumë gabime ndodhin kur modelet imperative dhe deklarative përzierën. Ruani një kufi të qartë të statusit.

Përziejini elementet e dizajnit "push" dhe "pop" me faqet e dokumentit.

Mos përdorni metodat Navigator.push/pop për listat që kontrollohen tashmë nga List<PageEntry>.

Widget në gjendje.

Mos vendosni instancat e widget-ave në metadatat e faqes. Ruani vetëm çeljet dhe identifikuesit që ngjajnë me rrugët.

Çeljet pa kufi.

Mos përdorni vlerat e njëjta për "key" në objektet "PageEntry" brenda të njëjtit "stack".

Lista e kontrolimit për emigrim.

Përdorni këtë listë kontrolle gjatë rishikimeve të rifaktorizimit për të siguruar që arkitektura të mbetet e konsistentë.

Lista e kontrollit.

E mira kundrejt së keqes.

// Keq: përzierja e urdhërave dhe deklaratave për të njëjtën strukturë të dhënave.
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];

// Mirë: përdorimi vetëm i deklaratave për të modifikuar gjendjen.
setState(() {
  _pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
Këshill për recenziot.

Gjatë procesit të shqyrtimit të kodit, ndiqni... kush është pronari i mutacioneve të shtuara. dhe refuzoni ndryshimet që modifikojnë të njëjtën strukturë të dhënave përmes më shumë se një API.