eugene
eugene

Reputation: 41665

Redux, Higher order reducer for different initialStates?

I'd like to reuse a reducer but with a different initialState.

Let's say for foo-1 reducer, I'd like to give initialState {'foo': 1} .
And for foo-2 reducer, I'd like to give initialState {'foo': 2}

How can I write such a higher order reducer?

Upvotes: 1

Views: 37

Answers (1)

Faris
Faris

Reputation: 544

Use a reducer maker:

function makeReducer(initialState) {
  return function(state = initialState, action) {
    // reducer logic
  }
}

Later use likes this

const firstReducer = makeReducer({'foo': 1});
const secondReducer = makeReducer({'foo': 2});

Upvotes: 2

Related Questions