reduce method
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 StoreConnector
s 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);
}