강의

멘토링

커뮤니티

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

ifidietomorr5039님의 프로필 이미지
ifidietomorr5039

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

리듀서 쪼개기

combinereuces 할때 문법 질문드립니다

작성

·

248

0

const rootReducer = combineReducers({ index: (state = {}, action) => { switch (action.type) { case HYDRATE: return { ...state, ...action.payload, }; default: return state; } }, user, post, });

이 문법에서 index :(state={},action)=> 를 하시는데

스테이트 를 빈공간으로 두고 액션을 받는 것 같던데

이 부분을 왜 인덱스로 객체설정해서 콜백 함수로 하나요 ?

공식문서나 다른문서 찾아봐도 비슷한 문법이 없어서 질문 드립니다 .. 나중에 이용했을때 이러한 것 때문에 차질이 생길것 같아서 걱정이 됩니다 ,.

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

일단 index :(state={},action)=> 여기에서 함수 부분은 당연한 겁니다. user나 post도 같은 모양입니다.

키 값이 index인 것은 아무 상관 없습니다. index가 아닌 다른 값이어도 됩니다. HDYRATE 액션만 있으면 됩니다.

index랑 user랑 post랑 같은 레벨에 위치하고 있어서 index에서 user랑 post 스테이트에 영향을 미칠 수 있습니다. HYDRATE에서 그 둘을 덮어씌우는 역할을 하기도 하고요.

감사합니다 혹시 이런식으로 해도 되는건가요 ??

const mainReducer = (state = {}, action) => action.type === 'hydrate' ? action.payload // hydrate the state : reducers(state, action);

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네 일단 위치만 맞으면 될것같긴 한데 나중에 hydrate부분을 실무에서는 바꿔서 쓰므로 저 구성으로 하면 결국 또 수정해야 합니다. 타입스크립트에서도 제대로 인식될지 모르겠네요.

ifidietomorr5039님의 프로필 이미지
ifidietomorr5039

작성한 질문수

질문하기