bloc_listenable
Extensions to convert any BLoC or Cubit into Flutter's Listenable / ValueListenable interfaces.
Built on top of stream_listenable.
Features
BlocBase.asListenable()— returns aListenablethat notifies on every state change.BlocBase.asValueListenable()— returns aValueListenable<T>seeded with the currentstate.
Getting started
dependencies:
bloc_listenable: ^1.0.0
Usage
final counterCubit = CounterCubit(); // extends Cubit<int>
// As a Listenable
ListenableBuilder(
listenable: counterCubit.asListenable(),
builder: (context, child) {
return Text('Count: ${counterCubit.state}');
},
);
// As a ValueListenable
ValueListenableBuilder<int>(
valueListenable: counterCubit.asValueListenable(),
builder: (context, value, child) {
return Text('Count: $value');
},
);
Additional information
- Core package: stream_listenable.
- File issues at github.com/Jei-sKappa/stream_listenable/issues.