Feature<State, Msg, Effect> constructor

Feature<State, Msg, Effect>({
  1. required State initialState,
  2. required Update<State, Msg, Effect> update,
  3. List<EffectHandler<Effect, Msg>> effectHandlers = const [],
  4. List<Effect> initialEffects = const [],
  5. List<Effect> disposableEffects = const [],
})

Creates a new Feature instance.

  • initialState: The initial state of the feature, defining its starting condition.
  • update: A pure function handling state transitions based on incoming messages and effects. You can know it as a Reducer.
  • effectHandlers: A list of handlers for processing side effects. Each handler can generate new messages based on the effects. This handlers will handle each effects, without exceptions.
  • initialEffects: Optional list of effects to execute when the feature is initialized.
  • disposableEffects: Optional list of effects to manage resources during the feature's lifecycle.

Implementation

factory Feature({
  required State initialState,
  required Update<State, Msg, Effect> update,
  List<EffectHandler<Effect, Msg>> effectHandlers = const [],
  List<Effect> initialEffects = const [],
  List<Effect> disposableEffects = const [],
}) =>
    _FeatureImpl(
      initialState: initialState,
      update: update,
      effectHandlers: effectHandlers,
      initialEffects: initialEffects,
      disposableEffects: disposableEffects,
    );