상태값을 컴포넌트에 종속시키지 않고, 상태 관리를 컴포넌트의 바깥에서 관리할 수 있기 때문이다!!
: 상태에 어떤 변화가 필요할 때 발생시킨다
{
type: "ORDER",
drink: {
menu: "Americano",
size: "Grande",
iced: false
}
}
: action을 만드는 함수, 단순히 파라미터를 받아와서 액션 객체 형태로 바꿔준다
export const changeInput = text => ({
type: "CHANGE_INPUT",
text
});
: 변화를 일으키는 함수, 두가지의 파라미터를 받아온다
ex) 카운터를 위한 리듀서
function counter(state, action) {
switch (action.type) {
case 'INCREASE':
return state + 1;
case 'DECREASE':
return state - 1;
default:
return state;
}
}
: store 안에는, 현재의 앱 상태와, 리듀서가 들어있고 내장함수들이 몇가지 있다
: store 내장함수 중 하나이고 액션을 발생시키는 것, dispatch 함수에는 액션을 파라미터로 전달함
: store 내장함수 중 하나이고 함수 형태의 값을 파라미터로 받아옴
