Mønstre, man bør undgå.
De fleste fejl opstår, når imperative og deklarative modeller blandes. Oprethold en klar grænse for tilstanden.
Kombination af "push"/pop-funktioner med sider.
Brug ikke metoderne Navigator.push eller Navigator.pop for stakke, der allerede administreres af en List<PageEntry>.
Widget i tilstand.
Placer ikke instanser af widgets i sidens metadata. Behold kun nøgleord og identifikatorer, der ligner ruteinformation.
Ubegrænsede nøgler.
Genbrug ikke identiske værdier for `PageEntry.key` inden for den samme stak.
Tjekliste for flytning.
Brug denne tjekliste under kodeomskrivningsprocessen for at sikre en ensartet arkitektur.
Tjekliste.
Godt versus dårligt.
// Dårligt: Blanding af kommandoer og beskrivende kode for samme "stack"
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
// Godt: Opdater kun den beskrivende tilstand
setState(() {
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
Anmeldelsestip.
Under kode gennemgang, følg med i... Hvem ejer stack-mutationerne? og afvis ændringer, der modificerer den samme datastruktur via flere API'er.
Forrige.
Håndtering af ryggen.Næste.
Introduktion.