createReducer

김지환·2020년 8월 5일
0

Redux

목록 보기
4/5
post-thumbnail
  • redux
const reducer = (state = [], action) => {
   switch(action.type) {
     case addToDo.type:
       return [...state, { text: action.payload, id: Date.now() }];
     default:
        return state;
   }
}
  • redux toolkit
const reducer = createReducer([], {
    [addToDo]: (state, action) => {
       state.push({ text: action.payload, id: Date.now() })
    }
});

createReducer의 장점은 기본 default 값을 정해줄 수 있다는 것이다.
함수에서 첫번째 파라미터 값이 default 값으로써 빈 배열을 지정해줄 수 있다.

기존 글에서 절대 mutate를 하면 안된다고 하였지만 createReducer 같은 경우에는 가능하다.
immer 라는 라이브러리가 뒤에서 자동으로 state를 mutate 해도 return 해주는 역할을 한다.

profile
주니어 프론트엔드 개발자

0개의 댓글