Skip to content

Commit 6679a29

Browse files
combineActions example in README (#165)
1 parent adbccb0 commit 6679a29

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,26 @@ expect(reducer(undefined, increment(new Error)).to.deep.equal({ counter: 0 })
208208
expect(reducer(undefined, decrement(new Error)).to.deep.equal({ counter: 0 })
209209
```
210210
211+
Here's an example using `handleActions`:
212+
213+
```js
214+
const { increment, decrement } = createActions({
215+
INCREMENT: amount => ({ amount }),
216+
DECREMENT: amount => ({ amount: -amount })
217+
});
218+
219+
const reducer = handleActions({
220+
[combineActions(increment, decrement)](state, { payload: { amount } }) {
221+
return { ...state, counter: state.counter + amount };
222+
}
223+
}, { counter: 10 });
224+
225+
expect(reducer({ counter: 5 }, increment(5))).to.deep.equal({ counter: 10 });
226+
expect(reducer({ counter: 5 }, decrement(5))).to.deep.equal({ counter: 0 });
227+
expect(reducer({ counter: 5 }, { type: 'NOT_TYPE', payload: 1000 })).to.equal({ counter: 5 });
228+
expect(reducer(undefined, increment(5))).to.deep.equal({ counter: 15 });
229+
```
230+
211231
## Usage with middleware
212232
213233
redux-actions is handy all by itself, however, its real power comes when you combine it with middleware.

0 commit comments

Comments
 (0)