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.