1234567891011121314151617181920212223242526272829303132 |
- function visibleTodoFilter(state = 'watch', action) {
- switch (action.type) {
- case 'CHANGE_VISIBLE_FILTER':
- return action.filter;
- default:
- return state;
- }
- }
- function todos(state, action) {
- switch (action.type) {
- case 'ADD_TODO':
- return [...state, {
- text: action.text,
- completed: false
- }];
- case 'COMPLETE_TODO':
- return [
- ...state.slice(0, action.index),
- Object.assign({}, state[action.index], {
- completed: true
- }),
- ...state.slice(action.index + 1)
- ]
- default:
- return state;
- }
- }
- import { combineReducers, createStore } from 'redux';
- let reducer = combineReducers({ visibleTodoFilter, todos });
- let store = createStore(reducer);
|