StateSelection<TState extends BlocState> extension
Extension that adds state selection capabilities to JuiceBloc.
State selection allows you to observe only parts of state, avoiding unnecessary widget rebuilds when unrelated state changes.
Example:
// Only emits when count changes
bloc.select((state) => state.count).listen((count) {
print('Count changed to $count');
});
// Combine multiple selectors
bloc.select((state) => state.user.name).listen((name) {
print('User name: $name');
});
- on
-
- JuiceBloc<
TState>
- JuiceBloc<
Methods
-
select<
T> (T selector(TState state)) → Stream< T> -
Available on JuiceBloc<
Returns a stream that only emits when the selected value changes.TState> , provided by the StateSelection extension -
selectWith<
T> (T selector(TState state), {required bool equals(T previous, T current)}) → Stream< T> -
Available on JuiceBloc<
Returns a stream that only emits when the selected value changes, using a custom equality function.TState> , provided by the StateSelection extension