Anti-vzory, kterým se vyhnout

Většina chyb vzniká při smíchání imperativního a deklarativního modelu. Udržujte přísnou hranici stavu.

Míchání push/pop se stránkami

Nevolejte `Navigator.push`/`pop` pro zásobníky, které už spravuje `List<PageEntry>`.

Widget ve stavu

Nevkládejte instance `Widget` do metadat stránek. Uchovávejte jen klíče a identifikátory podobné trasám.

Neomezené klíče

Nepoužívejte znovu duplicitní hodnoty `PageEntry.key` ve stejném zásobníku.

Kontrolní seznam migrace

Tento kontrolní seznam používejte při revizích refaktoringu, aby architektura zůstala konzistentní.

Kontrolní seznam

Dobré vs. špatné

// Špatně: míchání imperativního a deklarativního přístupu pro tentýž zásobník
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];

// Správně: aktualizujte pouze deklarativní stav
setState(() {
  _pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
Tip k revizi

Při revizi kódu sledujte kdo vlastní změny zásobníku a odmítejte změny, které mění tentýž zásobník přes více API.

Předchozí

Overlaye

Další

Úvod