[Redux] Action

M_yeon·2022년 12월 8일
0

redux

목록 보기
2/4
post-thumbnail

Action

  • 액션은 순수한 객체 {object}로, 상태의 변경을 어떤식으로 할지를 나타낸다.
  • 액션은 스토어에 저장되어 있는 데이터를 꺼내오는 유일한 방법이다.
  • 다른 어떠한 이벤트 소스에서오든 데이터 이든지 간에, 결국 액션을 통해서 dispatch해야 한다.

💡dispatch 함수를 통해 값을 인지하고 reducer 함수의 매개변수인 action이 된다.


{
  type: 'ADD_TODO',
  payload: new Error(),
  error: true
}

반드시 (MUST)

  • 순수 자바스크립트 오브젝트여야 한다.
  • type 속성을 가지고 있어야 한다.

되도록 (MAY)

  • error속성을 가지고 있으면 좋다
  • payload속성을 가지고 있으면 좋다
  • meta속성을 가지고 있으면 좋다

action의 타입을 정의할때 카운트를 더하는 타입이다 라고하면

const handleAdd = () => {
  countStore.dispatch({ type: 'ADD' });
};

위처럼 dispatch 함수에 'ADD' 문자열로 정의를 해주는데
이렇게 할 경우 사람이다 보니 스펠링이 틀릴 수가 있다.
그래서 규모가 큰 프로젝트일 경우 어디에서 난 에러인지 잡을수 없기 때문에 이를 변수로 설정해서 사용한다고 하는데
장점은 변수명이 틀렸을때는 에러가 난 파일명을 알 수가 있다.

아래처럼 작성을 해줍니다!

const ADD = 'ADD';
//문자열이 사라진걸 아래에서 확인할 수 있습니다. 간단하죠!
const handleAdd = () => {
  countStore.dispatch({ type: ADD });
};

0개의 댓글