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.

Előző

Overlayek

Következő

Bevezető