인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

viveloper님의 프로필 이미지
viveloper

작성한 질문수

React로 NodeBird SNS 만들기

3-4. redux와 react 연결하기

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

작성

·

135

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하면 됩니다. 레퍼런슬를 유지하는 게 리렌더링도 막고 나을 것 같습니다.

viveloper님의 프로필 이미지
viveloper

작성한 질문수

질문하기