Reputation: 41665
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
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