React useReducer use kind of the same logic as Redux (State & Dispatch), so both looks similar.

Internally, the "State Reducer Pattern" uses this useReducer and defines a reducer (internalReducer) that contain all default Actions (This is the default behaviour).

The reducer is passed to the user before being consumed by the useReducer. Giving him the possibility of overriding any of these Actions (externalReducer).

In the example of the Counter, "decrement" action is replaced, but "increment" action is still the same one.

Software engineer. Passionate about the JavaScript ecosystem. Working at Samsung.