Broadcast Bloc
An extension to the bloc state management library which adds support for broadcasting state changes to stream channels.
Learn more at bloclibrary.dev!
Sponsors
Our top sponsors are shown below! [Become a Sponsor]
![]() |
![]() |
![]() |
Quick Start 🚀
// Extend `BroadcastCubit` instead of `Cubit`.
// The package also exports:
// * `BroadcastBloc`
// * `BroadcastMixin`
class CounterCubit extends BroadcastCubit<int> {
CounterCubit() : super(0);
void increment() => emit(state + 1);
}
void main() {
final controller = StreamController<String>(sync: true);
final subscription = controller.stream.listen(print);
final channel = StreamChannel(controller.stream, controller.sink);
// Create an instance of the cubit.
final cubit = CounterCubit()
// Subscribe the channel.
..subscribe(channel)
// Trigger a state change which will be broadcast to subscribed channels.
..increment()
// Unsubscribe channel.
..unsubscribe(channel);
subscription.cancel();
cubit.close();
}
Libraries
- broadcast_bloc
- An extension to the bloc state management library which adds support for broadcasting state changes to stream channels.