الإيرور الأكثر شهرة في Flutter 🤔

٣٠ نوفمبر ٢٠٢٤

الإيرور الأكثر شهرة في Flutter ! ❌

RenderFlex children have non-zero flex but incoming height constraints are unbounded.

مرات تبقى شغال في أمان الله وتلاقي الإيرور هاد، وتبحث عليه تلاقي كل الناس بتتكلم عنه، وحلوله سهلة ومنتشرة، هيقولك لو عندك Expanded شيله أو شيل الـ SingleChildScrollView، وهتلاقي الإيرور راح، طب شو سبب المشكلة ؟ 😄

لما بتعمل Expanded أنت حرفيًا بتقوله خد راحتك، خد المساحة/الإرتفاع المتاح كله، وهاد عادي ومفيهوش مشكلة.

المشكلة هتظهر لما هيبقى فوق في الـ Widget tree موجود SingleChildScrollView ،عشان الـ SingleChildScrollView وظيفتها تخلي السكرين Scrollable بس هاد unbounded(infinite) ، يعني غير محدود .. فكيف الـ Expanded بيحاول ياخد المساحة كلها وهي غير محدودة ؟ 😄

نفس المشكلة بتحصل لو حاولت تحط Spacer جوه SingleChildScrollView .. عشان الـ Spacer بياخد كل المساحة الفاضية وبيرمي الـ Widget اللي بعده في آخر الشاشة، وهاد هيحصل كيف والمساحة غير محدودة بسبب الـ SingleChildScrollView ؟ 😄

وحلول المشاكل المتعلقة بده كتير وسهلة وأنا وأنت عارفينها، بس كان يهمني أوضحلك سبب المشكلة، ومن ضمن الحلول هاي :

  • Use LayoutBuilder to get the available space.
  • use CustomScrollView with a SliverFillRemaining instead of SingleChildScrollView.

وحلول تانية كتير حسب كل حالة وحسب شكل الـ Widget Tree ، ممكن حتى تدي Size ثابت للـ Column تلاقي المشكلة انحلت ، مش مهم، المهم تفهم ليش بيحصل ؟ عشان تعرف تحله. 😄

GTC_rowad_batch2

GTC_rowad_MaysaraNassar_batch2

Maysara Nassar

Mobile apps Developer - Flutter Platform, 3 Years of experience (Mobile Apps - UX/UI - Databases - etc. ). Bachelors degree in Mobile Competing & Smart Mobile Apps - Form IUG .