Equatable Flutter’da, eşitlik karşılaştırmalarını daha kolay ve etkili bir şekilde yapmak için kullanılan bir pakettir. Dart dilinde, iki nesnenin eşitliğini karşılaştırmak için genellikle == operatörü kullanılır. Ancak, Dart’ta == operatörü, varsayılan olarak, iki nesnenin aynı örneğe (instance) mi işaret ettiğini kontrol eder; yani referans eşitliğini kontrol eder. Bu, çoğu zaman beklenen davranış olmayabilir, özellikle de değer eşitliğini (iki nesnenin içerik olarak birbirine eşit olup olmadığı) kontrol etmek istediğinizde.

Equatable paketi, bu sorunu çözmek için kullanılır. Bu paket, nesnelerin değer eşitliğini kolayca kontrol etmek için bir yapı sağlar. Equatable‘ı kullanarak, nesnelerinizi bu sınıftan türeterek, == operatörünü ve hashCode metodunu otomatik olarak, nesnenin özellikleri baz alınarak uygulamanızı sağlar. Bu sayede, nesneler arasında içerik bazında eşitlik karşılaştırmaları yapabilirsiniz.

Kullanımı

Bu örnekte, User sınıfı Equatable‘ı genişletir ve id ile name alanlarını eşitlik karşılaştırması için kullanır. Bu şekilde, iki User nesnesi, id ve name değerleri aynı olduğunda eşit kabul edilir.

Equatable kullanmanın avantajlarından biri, Flutter’da kullanıldığında, özellikle StatefulWidget‘ların durum yönetiminde, widget ağacının gereksiz yere yeniden inşa edilmesini önlemeye yardımcı olmasıdır. Equatable‘ı kullanan nesneler, eşitlik kontrolü daha doğru yapıldığı için, Flutter daha akıllıca karar verebilir ve sadece gerçekten gerekli olduğunda widget’ları yeniden inşa eder.

ETİKETLER :

YORUMLAR

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir