인프런 커뮤니티 질문&답변
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에서 그 둘을 덮어씌우는 역할을 하기도 하고요.
네 일단 위치만 맞으면 될것같긴 한데 나중에 hydrate부분을 실무에서는 바꿔서 쓰므로 저 구성으로 하면 결국 또 수정해야 합니다. 타입스크립트에서도 제대로 인식될지 모르겠네요.





감사합니다 혹시 이런식으로 해도 되는건가요 ??
const mainReducer = (state = {}, action) => action.type === 'hydrate' ? action.payload // hydrate the state : reducers(state, action);