JS Built-ins
redux-toolkitcreateReducerintermediate

createReducer with Builder

πŸ“– Usage Example
const { createReducer, createAction } = ReduxToolkit
const inc = createAction('inc')
const reducer = createReducer(0, builder => {
  builder.addCase(inc, state => state + 1)
})
reducer(0, inc()) // β†’ 1

createReducer with the builder API provides full type safety and a clean pattern for handling multiple actions.

createReducer with Builder

createReducer(initialState, builder => ...) defines a reducer using a builder callback. Call builder.addCase(actionCreator, handler) to handle specific actions.

Challenge: Use createReducer with the builder API to handle increment, decrement, and addBy.

counterReducer(0, increment())   // β†’ 1
counterReducer(5, decrement())   // β†’ 4
counterReducer(0, addBy(10))     // β†’ 10
πŸ’‘ Hints (3)
  • β€’ Chain `.addCase()` calls on the builder object.
  • β€’ The handler receives `(state, action)` β€” return a new value or mutate with Immer.
  • β€’ Unhandled actions automatically return the current state.