function reducer(state,action){...}
var store = Redux.createStore(reducer)
store.dispatch(action)
dispatch를 하면 createStore에서 넘겨준 reducer를 호출하도록 약속돼있다. 이 때 이전의 state값과 전달된 action의 값을 argument로 준다.
이런식으로
값의 복제
var newState;
if(action.type === 'CHANGE_COLOR'){
newState = Object.assign({},state,{color:'red'})
}
return newState;
reducer안의 값을 그대로 state로 돌려주는게 아니라 값을 복제해서 돌려준다.