Zu vermeidende Anti-Muster
Die meisten Fehler entstehen, wenn imperative und deklarative Modelle vermischt werden. Halten Sie eine klare Zustandsgrenze ein.
push/pop mit Seiten vermischen
Rufen Sie `Navigator.push`/`pop` nicht für Stacks auf, die bereits von `List<PageEntry>` gesteuert werden.
Widget im Zustand
Legen Sie keine `Widget`-Instanzen in die Seitenmetadaten. Bewahren Sie nur Schlüssel und routenähnliche Kennungen auf.
Doppelte Schlüssel
Verwenden Sie doppelte `PageEntry.key`-Werte nicht erneut im selben Stack.
Migrations-Checkliste
Verwenden Sie diese Checkliste bei Refactor-Reviews, um die Architektur konsistent zu halten.
Checkliste
Gut vs. schlecht
// Schlecht: imperativen und deklarativen Ansatz für denselben Stack vermischen
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
// Gut: nur den deklarativen Zustand aktualisieren
setState(() {
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
Hinweis zur Prüfung
Halten Sie bei Code-Reviews fest, wer die Stack-Änderungen verantwortet und lehnen Sie Änderungen ab, die denselben Stack über mehrere APIs verändern.
Zurück
OverlaysWeiter
Einführung