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

Ko Yun Hyuk님의 프로필 이미지

작성한 질문수

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

서버사이드렌더링 준비하기

getServerSideProps 사용관련 질문 있습니다.

작성

·

358

0

먼저 현재 배포는 하지 않았고 npm run dev를 통해 개발을 진행하고 있습니다.

브라우저의 도매인은 현재 localhost 3000 이고, server의 도메인은 localhost: 3065입니다.

! 질문: next.js에 Server Side Rendering을 적용하기 위해선 api 서버가 배포가 되어있어야 하나요?

그게 아니라면 아래의 방식에서 발생하는 에러의 원인을 찾아봤지만 파악하기가 어렵습니다... 조언 부탁드립니다.

reducer에 index.js 수정 뒤 pages/index.js에서 사용법을 참고하여 하단에 아래의 코드를 추가했습니다.

import { END } from 'redux-saga';
 
export const getServerSideProps = wrapper.getServerSideProps((store) => async ({ req }) => {
console.log('getServerSideProps req: ', req);
store.dispatch({
type: LOAD_MY_INFO_REQUEST,
});
store.dispatch(END);
await store.sagaTask.toPromise();

그런데 아래와 같은 에러가 발생합니다.

TypeError: Cannot read properties of undefined (reading 'getServerSideProps')

 

개발자 console

network

답변 2

0

Ko Yun Hyuk님의 프로필 이미지
Ko Yun Hyuk
질문자

import { wrapper } from '../store/configureStore';

import wrapper from '../store/configureStore';

두 방식의 차이점은 변수로 지정하냐 안하냐의 차이인가요?

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

아뇨. export를 어떻게 했냐의 차이입니다. export wrapper  vs export default 입니다.

0

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

네 api 서버가 실행중이어야 합니다.

그리고 해당 에러는 wrapper가 undefined인 건데 이 부분은 import 부분에서 next-redux-wrapper 관련 보셔야합니다.

Ko Yun Hyuk님의 프로필 이미지
Ko Yun Hyuk
질문자

답변 감사합니다 wrapper 관련 import 문제였습니다. 에러 해결되었습니다!!! ㅎㅎ..