Anti-mønstre du bør unngå
De fleste feil oppstår når imperative og deklarative modeller blandes. Hold en streng tilstandsgrense.
Blande push/pop med sider
Ikke kall Navigator.push/pop for stabler som allerede styres av List<PageEntry>.
Widget i tilstand
Ikke legg Widget-instansene inn i sidemetadata. Behold kun nøkler og rutelignende identifikatorer.
Uavgrensede nøkler
Ikke gjenbruk dupliserte PageEntry.key-verdier i samme stabel.
Migreringssjekkliste
Bruk denne sjekklisten under gjennomgang av refaktorering for å holde arkitekturen konsistent.
Sjekkliste
Bra vs. dårlig
// Dårlig: blander imperativ og deklarativ styring for samme stabel
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
// Bra: oppdater bare deklarativ tilstand
setState(() {
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
Tips for kodegjennomgang
Under kodegjennomgang, følg med på hvem som eier stabelendringer og avvis endringer som muterer den samme stabelen gjennom flere API-er.
Forrige
TilbakehåndteringNeste
Introduksjon