Middle
Flutter'da anahtarlar ne için kullanılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Flutter'da widgetleri ve öğeleri tanımlamak için anahtarlar kullanılır. Bu, şu nedenlerle önemlidir:
- Widgetleri güncelleme: Flutter, bir widget'in yeniden oluşturulup oluşturulmayacağını veya sadece mevcut örneğinin güncellenip güncellenmeyeceğini belirlemek için anahtarları kullanır. Eğer widget anahtarı değişmiyorsa ve verileri güncelleniyorsa, Flutter mevcut öğeyi yeniden kullanır ve günceller, yeni bir şey oluşturmak yerine.
- Durumu koruma: Anahtarlar, widget'ların hareket ettirilmesi veya liste içindeki çocuk öğelerin sırasının değiştirilmesi sırasında durumlarını korumalarına olanak tanır.
- Verimlilik: Anahtarların kullanımı, Flutter'ın render sürecini optimize etmesine ve gereksiz yeniden çizimleri önlemesine yardımcı olur.
Farklı anahtar türleri vardır:
LocalKey: Üst widget içinde benzersiz olan temel anahtar sınıfı.ValueKey<T>: Belirli bir değeri (String,intvb.) benzersiz tanımlayıcı olarak kullanır.ObjectKey: Bir nesneye referans kullanarak benzersiz tanımlayıcı sağlar.
GlobalKey: Uygulama genelinde benzersiz anahtarlar. Bir widget'in durumuna herhangi bir yerden erişmek veya widget'ı başka ekranlara taşıdığınızda durumunu korumak için kullanılır.GlobalKey<T extends State<StatefulWidget>>: BirStatefulWidget'in durumuna erişmek için.GlobalKey: Diğer küresel tanımlamalar için.
ValueKey'in ListView içinde kullanımıyla liste öğelerinin durumunu koruma örneği:
ListView.builder(
itemCount: items.length,
itemBuilder: (context, index) {
final item = items[index];
return Dismissible(
key: ValueKey(item.id), // Her öğe için benzersiz anahtar
onDismissed: (direction) {
// Öğeyi kaldır
},
child: ListTile(title: Text(item.name)),
);
},
);