더북(TheBook)

리듀서를 다 만들었으면 루트 리듀서에 포함시키세요.

modules/index.js

import { combineReducers } from 'redux';
import { all } from 'redux-saga/effects';
import auth, { authSaga } from './auth';
import loading from './loading';
import user, { userSaga } from './user';
import write from './write';

const rootReducer = combineReducers({
  auth,
  loading,
  user,
  write,
});

export function* rootSaga() {
  yield all([authSaga(), userSaga()]);
}

export default rootReducer;

 

이제 Editor, TagBox, WriteActionButtons 컴포넌트 각각에 대해 컨테이너 컴포넌트를 만들어 주겠습니다. 현재 상황을 보면, 구현해야 할 기능이 그렇게 많지 않고 로직도 간단하기 때문에 컨테이너 컴포넌트를 하나만 만들고 그 안에서 글 작성에 관련한 모든 컴포넌트의 상태 관리를 해 주어도 괜찮을 것 같네요. 하지만 이러한 방식은 자칫하면 코드가 방대해져 나중에 유지 보수가 어려워질 수 있기 때문에 각 컴포넌트의 역할에 따라 컨테이너 컴포넌트를 따로 만드는 것을 권장합니다.

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