Middle
Flutter'da kalitlar nima uchun ishlatiladi?
sobes.tech AI
AIdan javob
Flutter'da vidjetleri və elementləri tanımaq üçün açarların istifadə olunur. Bu, aşağıdakılar üçün vacibdir:
- Vidjetləri yeniləmək: Flutter açarları istifadə edir ki, vidjetin yenidən qurulması və ya sadəcə mövcud nümunəsinin yenilənməsi lazım olub-olmadığını müəyyən etmək üçün. Əgər vidjetin açarı dəyişməzsə və onun məlumatları yenilənirsə, Flutter mövcud elementi yenidən istifadə edir və yeniləyir, yeni yaratmaq əvəzinə.
- Vəziyyəti saxlamaq: Açarlar vidjetlərin vəziyyətini onların vidjet ağacında hərəkət etdirməsi və ya uşaq elementlərinin sırasını dəyişməsi zamanı qorumağa imkan verir.
- Effektivlik: Açarların istifadəsi Flutter-ın render prosesini optimallaşdırmağa kömək edir və lazımsız yenidən qurmağı qarşısını alır.
Fərqli açar növləri mövcuddur:
LocalKey: Üst widget daxilində unikal olan əsas açar sinfi.ValueKey<T>: Müəyyən bir dəyər (String,intvə s.) kimi unikal identifikator istifadə edir.ObjectKey: Obeyektə istinad istifadə edir kimi unikal identifikator.
GlobalKey: Bütün tətbiq üzrə unikal açarlar. Hər hansı bir yerdən widget-in vəziyyətinə daxil olmaq və ya widget-i başqa ekranlara köçürərkən vəziyyəti saxlamaq üçün istifadə olunur.GlobalKey<T extends State<StatefulWidget>>:StatefulWidget-in vəziyyətinə daxil olmaq üçün.GlobalKey: Digər qlobal identifikatorlar üçün.
ValueKey-in ListView-də istifadəsi ilə siyahı elementlərinin vəziyyətini saxlamaq nümunəsi:
ListView.builder(
itemCount: items.length,
itemBuilder: (context, index) {
final item = items[index];
return Dismissible(
key: ValueKey(item.id), // Hər element üçün unikal açar
onDismissed: (direction) {
// Elementi sil
},
child: ListTile(title: Text(item.name)),
);
},
);