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.