Negatívne vzorce, ktorým je potrebné sa vyhnúť.

Väčšina chýb sa vyskytuje, keď sa miešajú imperatívne a deklaratívne modely. Dôležité je dodržiavať jasné hranice pre správu stavu.

Kombinovanie metód "push" a "pop" s používateľskými stránkami.

Nepoužívajte metódy Navigator.push alebo Navigator.pop pre zásobníky, ktoré už sú riadené triedou List<PageEntry>.

Widget v stave.

Neumiestňujte inštancie komponentov (widgetov) do metadát stránky. Udržujte iba kľúče a identifikátory podobné cestám.

Neobmedzené kľúče.

Nepoužívajte rovnaké hodnoty pre atribút „key“ v rámci jednej a tej istej datovej štruktúry (stack).

Kontrolný zoznam pre migráciu.

Použite tento kontrolný zoznam počas revízií refaktorizácie, aby ste zabezpečili konzistentnú architektúru.

Kontrolný zoznam.

Dobro verzus zlo.

// Zlé: miešanie imperatívnych a deklaratívnych príkazov pre rovnakú oblasť.
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];

// Dobré: aktualizácia iba deklaratívneho stavu.
setState(() {
  _pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
Tipy pre recenzie.

Počas kontroly kódu, sledujte... kto vlastní mutácie v zásobníku? a odmietajte zmeny, ktoré menia rovnakú štruktúru dát prostredníctvom viacerých rozhraní (API).