ليه بنستخدم Equatable مع ال flutter_bloc ؟
لما بتشتغل بـ Bloc بتحتاج تقارن بين ال Objects، وخصوصًا الـ States والـ Events. هنا بييجي دور Equatable.
المشكلة الأساسية:
بشكل افتراضي، دارت بتقارن الكائنات بناءً على مكانها في الذاكرة، مش بناءً على القيم اللي جواها. يعني لو عندك حالتين بنفس القيم، دارت هتشوفهم مش متطابقين لأنهم كائنين مختلفين في الذاكرة.
ده ممكن يعمل مشاكل مع Bloc، لأنه بيعيد بناء الواجهة (UI) حتى لو البيانات مفيهاش تغيير فعلي.
الحل: استخدام Equatable
Equatable بيخلي Dart تقارن ال Objects بالقيم اللي جواها بدل ما تعتمد على مكانها في الذاكرة.
الخلاصة:
Equatable بيمنع إعادة بناء الواجهة بدون داعي.
بيخلي Bloc يعرف إن الحالة مفيهاش تغيير حقيقي، فميعملش إعادة بناء (Rebuild).
بيخلي الكود أنضف وأسهل في التعامل مع الـ States والـ Events.
لو بتشتغل بـ Bloc أو أي State Management، استخدم Equatable عشان الأداء يكون أسرع والكود أنضف.
Post #2385
3.99K

- ❤🔥 18
- 🔥 5