객체 {object}
로, 상태의 변경을 어떤식으로 할지를 나타낸다. 유일한
방법이다.dispatch
해야 한다.💡dispatch 함수를 통해 값을 인지하고 reducer 함수의 매개변수인 action이 된다.
{
type: 'ADD_TODO',
payload: new Error(),
error: true
}
action의 타입을 정의할때 카운트를 더하는 타입이다 라고하면
const handleAdd = () => {
countStore.dispatch({ type: 'ADD' });
};
위처럼 dispatch 함수에 'ADD' 문자열로 정의를 해주는데
이렇게 할 경우 사람이다 보니 스펠링이 틀릴 수가 있다.
그래서 규모가 큰 프로젝트일 경우 어디에서 난 에러인지 잡을수 없기 때문에 이를 변수로 설정해서 사용한다고 하는데
장점은 변수명이 틀렸을때는 에러가 난 파일명을 알 수가 있다.
const ADD = 'ADD';
//문자열이 사라진걸 아래에서 확인할 수 있습니다. 간단하죠!
const handleAdd = () => {
countStore.dispatch({ type: ADD });
};