ex_bloc 0.2.8 copy "ex_bloc: ^0.2.8" to clipboard
ex_bloc: ^0.2.8 copied to clipboard

outdated

ExBloc provide simple way to organize bloc middleware and dispatch events.

ex_bloc #

ExBloc provide simple way to organize bloc middleware and dispatch events.

Usage #

Import #

import 'package:ex_bloc/ex_bloc.dart';

Get ExStore #

final store = ExStore.instance;

Simple state #

class TestState {
  final bool afterInitial;

  const TestState({this.afterInitial});
  factory TestState.initial() {
    return const TestState(afterInitial: false);
  }
}

Simple bloc #

ExBloc does not contain business logic.

class TestBloc extends ExBloc<TestEvent, TestState> {

  @override
  TestState get initialState => TestState.initial();
}

Event #

ExEvent provide business logic and payload

ExStore provide ability to dispatch other events or get other states.

class TestEvent extends ExEvent<TestState, TestBloc> {
  @override
  Stream<TestState> call(ExStore store, TestBloc bloc) async* {
    yield TestState(afterInitial: true);
  }
}

Dispatch events #

store.dispatch(TestEvent());

or

TestEvent().dispatch();

Get state from ExStore #

final store = ExStore.instance;
final testState = store.getState<TestState>();

Reselect usage #

Reselect can be used if needed

final testStateSelector = (ExStore store) => store.getState<TestState>();

final afterInitialSelector = createSelector1(
    testStateSelector,
    (TestState testState) => testState.afterInitial,
);
8
likes
0
pub points
0%
popularity

Publisher

unverified uploader

ExBloc provide simple way to organize bloc middleware and dispatch events.

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

bloc

More

Packages that depend on ex_bloc