reduce method

  1. @override
CoreState reduce()

The reduce method is the action reducer. It may read the action state, the store state, and then return a new state (or null if no state change is necessary).

It may be synchronous (returning AppState or null) or async (returning Future<AppState> or Future<null>).

The StoreConnectors may rebuild only if the reduce method returns a state which is both not null and different from the previous one (comparing by identical, not equals).

Implementation

@override
CoreState reduce() {
  final Navigation? newState = state.navigationState?.copyWith.call(
    drawerSelectedIndex:
        drawerSelectedIndex ?? state.navigationState!.drawerSelectedIndex,
    bottomBarSelectedIndex: bottomBarSelectedIndex ??
        state.navigationState!.bottomBarSelectedIndex,
    primaryActions: primaryActions ?? state.navigationState!.primaryActions,
    secondaryActions:
        secondaryActions ?? state.navigationState!.secondaryActions,
  );

  return state.copyWith(navigationState: newState);
}