Kerülendő ellenminták
A hibák többsége akkor keletkezik, amikor az imperatív és deklaratív modelleket összekeverik. Tartson szigorú állapothatárt.
push/pop keverése az oldalakkal
Ne hívja meg a `Navigator.push`/`pop` függvényeket olyan stackekre, amelyeket már a `List<PageEntry>` kezel.
Widget az állapotban
Ne tegyen `Widget` példányokat az oldal metaadataiba. Csak kulcsokat és útvonalhoz hasonló azonosítókat tartson meg.
Ismétlődő kulcsok
Ne használja újra ugyanabban a stackben a duplikált `PageEntry.key` értékeket.
Migrációs ellenőrzőlista
Használja ezt az ellenőrzőlistát refaktorálási ellenőrzések során, hogy az architektúra következetes maradjon.
Ellenőrzőlista
Jó vs. rossz
// Rossz: az imperatív és deklaratív megközelítés keverése ugyanahhoz a stackhez
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
// Jó: csak a deklaratív állapotot frissítse
setState(() {
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
Ellenőrzési tipp
Kódellenőrzés során kövesse nyomon ki felel a stackmódosításokért és utasítsa el azokat a változtatásokat, amelyek több API-n keresztül módosítják ugyanazt a stacket.