🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ Morteza Moradi
تفاوت blucBuilde , blocProvider ,blockCunsumer
جامعه فلاتر ایجاد شده در ۰۷ آبان ۱۴۰۱

سلام

تفاوت این سه موردی که در عنوان گفته شده چیه و چه ربطی به همدیگه دارن؟

درود

BlocBuilder:

با این ویجت شما براساس state ـی که emit شده تصمیم می‌گیرید که چه ویجتی build کنید.

BlocListener:

در صورتی که در ازای یک state نخواهید اقدامی انجام بدید که منجر به ساخت یک ویجت بشه مثلا نشون دادن snackBar و.. از این ویجت استفاده میکنید.

BlocConsumer:

اگر شرایط کدتون طوری باشه که به ازای برخی state‌ها بخواهید ویجت build کنید و به ازای بعضی شون اقدامات دیگه (listen کنید) از BlocConsumer استفاده میشه. دو پارامتر اختیاری listenWhen و buildWhen داره که میتونید مشخص کنید کدوم state برای کدوم هدف هست. به طور خلاصه این ویجت ترکیب دو ویجت بالاتر هست.

BlocProvider:

با استفاده از این ویجت شما یک نمونه از blocتون میسازید. تا زمانی که به وسیله BlocProvider اون bloc مربوطه رو در widget tree قرار ندید، اون bloc شناخته نمیشه و خطا دریافت می‌کنید.

بهترین پاسخ
یلدا محصلی ۰۷ آبان ۱۴۰۱، ۰۷:۴۰