모든 추가 데이터 값을 action.payload로 사용하기 때문에 나중에 리듀서 코드를 다시 볼 때 헷갈릴 수 있습니다. 객체 비구조화 할당 문법으로 action 값의 payload 이름을 새로 설정해 주면action.payload가 정확히 어떤 값을 의미하는지 더 쉽게 파악할 수 있습니다.
modules/todos.js
(...) const todos = handleActions( { [CHANGE_INPUT]: (state, { payload: input }) => ({ ...state, input }), [INSERT]: (state, { payload: todo }) => ({ ...state, todos: state.todos.concat(todo), }), [TOGGLE]: (state, { payload: id }) => ({ ...state, todos: state.todos.map(todo => todo.id = = = id ? { ...todo, done: !todo.done } : todo, ), }), [REMOVE]: (state, { payload: id }) => ({ ...state, todos: state.todos.filter(todo => todo.id != = id), }), }, initialState, ); export default todos;
어떤가요? 코드의 가독성이 더 높아졌지요?