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

송지훈님의 프로필 이미지
송지훈

작성한 질문수

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

제로초님 제가 블로그를 타입스크립트와 next.js로 만들려고하는데요

작성

·

384

0

안녕하십니까 !!
제가 개인 블로그를 제로초님의 교육 덕분에 만들긴 만들었습니다.
그런데 cra를 이용해서 만들었어서 몇일 전에 배포하고 난 뒤 조금 아쉬운거 같아서
이번에는 제대로 typescript와 next.js로 만들어서 다시 배포하려고합니다.!!
그런데 next의 여기 리듀서 설정하는 곳에서 좀 헷갈려서 질문을 드립니다.
import { HYDRATE } from 'next-redux-wrapper';
import { combineReducers } from 'redux';

import user from './user'

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

export type RootState = ReturnType<typeof rootReducer>

export default rootReducer;
제가 검색을 해보아도 원하는 답이 안나와서 그런데
혹시 여기서 고칠점이 있나요??
감사합니다.!!

답변 3

1

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

네 가능합니다~. 저기 default 부분을 제대로 인식할지는 잘 모르겠네요.

1

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

리듀서 구조를

https://github.com/ZeroCho/react-nodebird/blob/master/ch7/front/reducers/index.js

처럼 만드세요. 지금 하신 코드는 3강 정도에서 했던 구조인데 나중에 문제가 생겨서 7강 구조로 바꾸었습니다.

0

송지훈님의 프로필 이미지
송지훈
질문자

const rootReducer = (stateaction=> {
  switch (action.type) {
    case HYDRATE:
      console.log('HYDRATE'action);
      return action.payload;
    default: {
      const combinedReducer = combineReducers({
        user,
      });
      return combinedReducer(stateaction);
    }
  }
};
이렇게 바꾼 뒤
export type RootState = ReturnType<typeof rootReducer>;
이렇게 타입을 빼와도 되나요?
송지훈님의 프로필 이미지
송지훈

작성한 질문수

질문하기