در پاسخ به سوال آقای شاملو، برای پیاده سازی این چنین مواردی، شما میتونید از BlocListener و یا BlocConsumer (ترکیب BlocListener و BlocBuilder هست) استفاده کنید. به این صورت که اگر بخواهید در ازای emit شدن یک state، کاری جز برگرداندن یک ویجت انجام بدید، مثلا نمایش اسنک بار یا ...، میتونید از فیلد listener که مقدار بازگشتی از نوع void هست، استفاده کنید. در کنار این فیلد ها، فیلد listenWhen و buildWhen داریم که مشخص بشه کدوم stateها برای build شدن UI هست و کدومها نیستند. درمورد این موضوع صحبت زیاده؛ این مقاله مقایسه خوبی برای این 3 ویجت ارائه داده و با ارائه مثال بیان کرده هر کدوم برای چه شرایطی مناسب هست.