24.2.3.5 auth 리덕스 모듈에서 API 사용하기
그럼 방금 만든 유틸 함수를 사용하여 auth 리덕스 모듈에서 API를 사용할 수 있도록 구현하겠습니다.
우선 다음과 같이 여섯 가지 액션 타입을 추가로 더 선언해야 합니다.
modules/auth.js
import { createAction, handleActions } from 'redux-actions'; import produce from 'immer'; const CHANGE_FIELD = 'auth/CHANGE_FIELD'; const INITIALIZE_FORM = 'auth/INITIALIZE_FORM'; const REGISTER = 'auth/REGISTER'; const REGISTER_SUCCESS = 'auth/REGISTER_SUCCESS'; const REGISTER_FAILURE = 'auth/REGISTER_FAILURE'; const LOGIN = 'auth/LOGIN'; const LOGIN_SUCCESS = 'auth/LOGIN_SUCCESS'; const LOGIN_FAILURE = 'auth/LOGIN_FAILURE'; (...)
각 요청마다 액션 타입을 세 개 선언해야 하는데, 같은 작업이 조금 반복됩니다. 코드를 반복해서 작성하는 것이 사람에 따라 조금 귀찮을 수도 있겠지요? 이와 같은 경우 액션 타입을 한꺼번에 만드는 함수를 선언하는 방법도 있습니다. 위 코드를 한번 리팩토링해 봅시다.