Sparround

Ephemeral state və app state

Flutter-in rəsmi sənədləri state-i iki qrupa bölür.

Ephemeral state (UI state, local state) — bir widget-in içində səliqəli şəkildə saxlanıla bilən state-dir. Rəsmi nümunələr: PageView-in cari səhifəsi, animasiyanın gedişatı, BottomNavigationBar-ın seçilmiş tab-ı. Bunun üçün StatefulWidgetsetState kifayətdir.

App state (shared state) — tətbiqin bir çox yerində paylaşılan və sessiyalar arasında saxlanılması istənilən state-dir. Rəsmi nümunələr: user seçimləri, login məlumatı, bildirişlər, səbət, xəbərin oxunub-oxunmaması.

SualEphemeralApp state
Kim oxuyur?Bir widget və onun alt ağacıBir-birindən uzaq ekranlar
Widget söküləndə nə olur?İtir — və bu, normaldırQalmalıdır
Tipik alət`setState`, `ValueNotifier`Provider / Riverpod / BLoC
Test edilməsiWidget testi iləAyrıca unit test (UI-dan asılı olmadan)

Rəsmi sənəd açıq yazır ki, universal qayda yoxdur: bəzən ephemeral state-i app state-ə köçürmək lazım gəlir, tətbiq böyüdükcə. Sənəddə istinad edilən praktik prinsip: hansı variant daha az narahatlıq yaradırsa, onu seç. Müsahibədə bu cavab "həmişə BLoC istifadə edirəm"-dən qat-qat güclü səslənir.

📚 Mənbələr və sənədlər