initial<S, A, Environment> static method

Store<S, A> initial<S, A, Environment>(
  1. S initialState,
  2. Reducer<S, A, Environment> reducer,
  3. Environment environment
)

Creates a store with an environment that is closed over by the reducer.

The environment typically contains external dependencies such as API clients, databases, or analytics services.

final store = Store.initial(
  AppState(),
  appReducer,
  AppEnvironment(api: ApiClient()),
);

Implementation

static Store<S, A> initial<S, A, Environment>(
  S initialState,
  Reducer<S, A, Environment> reducer,
  Environment environment,
) =>
    Store._(
      subject: CurrentValueSubject.create<S>(initialState),
      reducer: (state, action) => reducer.reduce(state, action, environment),
    );