Qaçınılmalı anti-nümunələr
Əksər səhvlər imperativ və deklarativ modellər qarışdırıldıqda baş verir. Vəziyyət sərhədini sərt saxlayın.
push/pop-u səhifələrlə qarışdırmaq
Artıq `List<PageEntry>` tərəfindən idarə olunan steklər üçün `Navigator.push`/`pop` çağırmayın.
Vəziyyətdə Widget
Səhifə metadatasına `Widget` nümunələri qoymayın. Yalnız açarlar və marşruta bənzər identifikatorlar saxlayın.
Məhdudsuz açarlar
Eyni stekdə təkrarlanan `PageEntry.key` dəyərlərindən istifadə etməyin.
Köçürmə yoxlama siyahısı
Arxitekturanın ardıcıl qalması üçün refaktor icmallarında bu yoxlama siyahısından istifadə edin.
Yoxlama siyahısı
Yaxşı və pis
// Pis: eyni stek üçün imperativ və deklarativ yanaşmanı qarışdırmaq
Navigator.of(context).push(...);
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
// Yaxşı: yalnız deklarativ vəziyyəti yenilə
setState(() {
_pages = [..._pages, const PageEntry(key: 'detail', name: '/detail')];
});
İcmal məsləhəti
Kod icmalı zamanı stek dəyişikliklərinə kimin sahib olduğunu izləyin və eyni steki bir neçə API vasitəsilə dəyişdirən dəyişiklikləri rədd edin.