더북(TheBook)

20.6.2 에디터 상태 관리

 

 

20.6.2.1 editor 모듈 생성

이제 Editor에서 작성할 제목, 내용, 태그들의 상태를 리덕스에서 관리하겠습니다. 리덕스의 모듈 중 editor.js 파일을 다음과 같이 수정하세요.

src/store/modules/editor.js

import { createAction, handleActions } from ‘redux-actions’;

import { Map } from ‘immutable’;
import { pender } from ‘redux-pender’;

// action types
const INITIALIZE = ‘editor/INITIALIZE’;
const CHANGE_INPUT = ‘editor/CHANGE_INPUT’;

// action creators
export const initialize = createAction(INITIALIZE);
export const changeInput = createAction(CHANGE_INPUT);

// initial state
const initialState = Map({
  title: ‘’,
  markdown: ‘’,
  tags: ‘’
});

// reducer
export default handleActions({
  [INITIALIZE]: (state, action) => initialState,
  [CHANGE_INPUT]: (state, action) => {
    const { name, value } = action.payload;
    return state.set(name, value);
  }
}, initialState)

 

INITIALIZECHANGE_INPUT 액션을 만들어 주었습니다.

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