2019-03-20
todo app : https://github.com/nunosoares27/ReactReduxtodoApp
mapDispatchToProps 나 mapStateToProps는 해당 컴포넌트에서 정의한 State나, 액션을 store에 dispatch하는 메서드를 props에 넣어준다.(근데 이 props가 store 안에 있는건지? 해당컴포넌트에만 한정되는건지?)
// ./components/Option.js
const mapDispatchToProps = dispatch => {
return {
onUpdateDiff: value => dispatch(setDiff(value))
}
}
// value를 입력받아 setDiff라는 action creator를 실행해 액션을 발생시킨다.
// ./actions/index.js 에 action creator가 정의되어있다.
export function setDiff(value) {
return {
type: SET_DIFF,
diff: value
}
}
즉, onUpdateDiff(value) 를 실행하면
dispatch({type:SET_DIFF, diff: value}) 임.
store에 있는 reduer에게 이 액션이 전달된다.
reducer는 store 안에 있다. dispatch한 action을 받아 그에 맞는 행동을 하는것이 reducer다.