다음은 요청이 시작될 때 디스패치할 액션입니다.
{ 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;