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.

Əvvəlki

Örtüklər

Növbəti

Giriş