1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-redux-saga/reducer.js
yhirano55 b90c77b17f Improve with-redux-saga example (#4392)
* Rename page component's class name: Counter => Index, Counter => Other
* Rename counter component class name: AddCount => Counter
* Add counter actions `decrement` and `reset` same as with-redux example
* Modify page link by NavigateTo attr in Page component
* Modify license MIT => ISC same as others in package.json
* Modify README
2018-05-16 10:47:12 +02:00

55 lines
1,006 B
JavaScript

import {actionTypes} from './actions'
export const exampleInitialState = {
count: 0,
error: false,
lastUpdate: 0,
light: false,
placeholderData: null
}
function reducer (state = exampleInitialState, action) {
switch (action.type) {
case actionTypes.FAILURE:
return {
...state,
...{error: action.error}
}
case actionTypes.INCREMENT:
return {
...state,
...{count: state.count + 1}
}
case actionTypes.DECREMENT:
return {
...state,
...{count: state.count - 1}
}
case actionTypes.RESET:
return {
...state,
...{count: exampleInitialState.count}
}
case actionTypes.LOAD_DATA_SUCCESS:
return {
...state,
...{placeholderData: action.data}
}
case actionTypes.TICK_CLOCK:
return {
...state,
...{lastUpdate: action.ts, light: !!action.light}
}
default:
return state
}
}
export default reducer