Anti-modele de evitat
Cele mai multe erori apar atunci când sunt amestecate modelele imperative și declarative. Păstrați o separare strictă a stării.
Amestecarea push/pop cu paginile
Nu apelați Navigator.push/pop pentru stive deja controlate de List<PageEntry>.
Widget-uri în metadate
Nu puneți instanțe de Widget în metadatele paginii. Păstrați doar chei și identificatori de tip rută.
Chei duplicate
Nu reutilizați valori duplicate PageEntry.key în aceeași stivă.
Listă de verificare pentru migrare
Folosiți această listă de verificare în timpul revizuirilor de refactorizare pentru a păstra arhitectura consecventă.
Listă de verificare
Corect vs. greșit
// Greșit: amestecarea stilului imperativ și declarativ pentru aceeași stivă
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
// Corect: actualizați doar starea declarativă
setState(() {
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
Sfat de revizuire
În timpul revizuirii codului, urmăriți cine deține mutațiile stivei și respingeți schimbările care modifică aceeași stivă prin mai multe API-uri.
Anterior
Gestionarea reveniriiUrmător
Introducere