더북(TheBook)

다음은 요청이 시작될 때 디스패치할 액션입니다.

{
  type: 'loading/START_LOADING',
  payload: 'sample/GET_POST'
}

위 액션이 디스패치되면 loading 리듀서가 관리하고 있는 상태에서 sample/GET_POST 값을 true로 설정해 줍니다. 만약 기존 상태에 sample/GET_POST 필드가 존재하지 않으면 새로 값을 설정해 줍니다.

그리고 요청이 끝나면 다음 액션을 디스패치해야 합니다.

{
  type: 'loading/FINISH_LOADING',
  payload: 'sample/GET_POST'
}

그러면 기존에 true로 설정했던 값을 다시 false로 전환해 줍니다.

리듀서를 다 작성했으면 루트 리듀서에 포함시키세요.

modules/index.js

import { combineReducers } from 'redux';
import counter from './counter';
import sample from './sample';
import loading from './loading';

const rootReducer = combineReducers({
  counter,
  sample,
  loading
});

export default rootReducer;

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.