Kaçınılması gereken anti-patternler
Çoğu hata, imperatif ve bildirime dayalı modeller karıştırıldığında ortaya çıkar. Durum sınırını sıkı tutun.
Push/pop ile sayfaları karıştırmak
List<PageEntry> tarafından zaten kontrol edilen stack'ler için Navigator.push/pop çağırmayın.
Widget'i durumda tutmak
Page metadata içine Widget örnekleri koymayın. Yalnızca anahtarları ve rota benzeri tanımlayıcıları saklayın.
Yinelenen anahtarlar
Aynı stack içinde yinelenen PageEntry.key değerlerini yeniden kullanmayın.
Geçiş Kontrol Listesi
Mimariyi tutarlı tutmak için bu kontrol listesini yeniden düzenleme incelemelerinde kullanın.
Kontrol listesi
İyi ve kötü
// Kötü: aynı stack için imperatif ve bildirime dayalı yaklaşımı karıştırmak
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
// İyi: yalnızca bildirime dayalı durumu güncelleyin
setState(() {
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
İnceleme ipucu
Kod incelemesi sırasında, stack değişikliklerinden kimin sorumlu olduğunu aynı stack'i birden fazla API üzerinden değiştiren değişiklikleri reddedin.
Önceki
Geri dönüş yönetimiSonraki
Giriş