Guest User

Untitled

a guest
Mar 22nd, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. import createModule from './createModule'
  2. import Counter from './Components/Counter'
  3.  
  4. export const handlers = dispatch => ({
  5. increment: () => dispatch({ increment: 1 }),
  6. decrement: () => dispatch({ decrement: 1 }),
  7. reset: () => dispatch({ reset: null }),
  8. })
  9.  
  10. // prettier-ignore
  11. const reducer = (state = 0, actions = {}) =>
  12. Object.entries(actions).reduce(
  13. (state, [key, payload]) =>
  14. key === 'increment' ? state + (payload || 0) :
  15. key === 'decrement' ? state - (payload || 0) :
  16. key === 'reset' ? 0 :
  17. state,
  18. state
  19. )
  20.  
  21. const mapStoreToProps = dispatch => state => ({
  22. value: state,
  23. ...handlers(dispatch),
  24. })
  25.  
  26. export default createModule(Counter)({ reducer, mapStoreToProps })
Add Comment
Please, Sign In to add comment