웹공부/React

Redux - Action

syom 2022. 2. 10. 02:36

리덕스의 액션이란?

  • 액션은 객체(Object)이다.
  • 두가지의 형태가 있다
  • // type 1 
    {type: 'TEST'} // payload 없는 액션 
    
    // type 2 
    {type: 'TEST', params: 'hello'} // payload 있는 액션
  • 필수 프로퍼티는 type 하나이며, type은 보통 문자열(string)이다.
  • 액션은 스토어에 전달이 되면 스토어의 상태를 변경하는데 사용된다.

리덕스의 액션 생성자 (Action Creater)

  • 액션을 생성하는 함수를 액션 생성자라고 한다.
  • 함수를 통해 액션을 생성하여 액션 객체를 리턴해주는 함수이다.
  • createTest(’hello’); // {type: ‘TEST’, params: ‘hello’} 와 같은 구조다.

리덕스의 액션의 역할

액션 생성자를 통해 만들어진 액션은 리덕스 스토어에 보내진다.

리덕스 스토어가 액션 객체를 받으면 스토어의 상태값이 변경되고 변경된 상태 값에 의해 상태를 이용하는 컴포넌트가 변경된다.

즉 액션은 스토어에 보내는 일종의 인풋이라 생각할 수 있다.

리덕스 액션 준비

  • 액션의 타입을 정의하여 변수 생성
    • 필수는 아니지만 타입을 문자열로 넣으면 실수를 유발할 가능성이 크다.
    • 미리 정의한 상수를 사용하면 스펠링에 주의를 덜 기울여도 된다.
  • 액션 객체를 만드는 함수를 만들기
    • 하나의 액션 객체를 만들기위해 하나의 함수를 만든다.
    • 액션의 타입은 미리 정의한 타입 변수로부터 가져와서 사용한다

액션 함수 예제

// actions.js
const ADD_TODO = "ADD_TODO";

function addTodo(todo) {
  return {
    type: ADD_TODO,
    todo,
  };
}

'웹공부 > React' 카테고리의 다른 글

Redux - Reducers(리듀서)  (0) 2022.02.10