• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

reducer함수의 switch문의 default 리턴값 질문

19.12.12 22:27 작성 조회수 96

0

좋은 강의 잘 듣고 있습니다. 수강중 의문점이 있어서 질문드립니다.

reducer를 여러개로 나누어 만들고 combineReducer를 통해 합쳐서 사용할 경우, dispatch된 action이 포함된 reducer 이외의 모든 reducer들은 default에 해당되어 기존 스테이트를 반환하게 되고, 이 값이 store의 state에 merge되는것으로 이해하고 있습니다만 action.type의 오타 이외엔 default에 걸릴일이 없다고 하셔서 질문드립니다. 예를 들면 ADD_POST 액션이 dispatch되었을 경우, userReducer에서는 user관련 state가 기존 그대로 반환되고, postReducer는 post관련 state를 새로 생성해서 반환하여, 이 값들을 combine하는 rootReducer는 전체 state(변화없는 user state + 새로생성된 post state)를 반환하여 store를 변화 시키는것 아닌가요? 만약 이 말이 맞다면 reducer의 default 리턴값은 {...state} 이와같이 새로 생성하는것이 아니라 그냥 기존 레퍼런스를 유지하는 것이 불변성을 유지하는것 아닌가 싶습니다.

답변 1

답변을 작성해보세요.

0

네 default의 경우 그냥 return state하면 됩니다. 레퍼런슬를 유지하는 게 리렌더링도 막고 나을 것 같습니다.