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

ws00님의 프로필 이미지
ws00

작성한 질문수

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

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

TypeError: nextCallback is not a function (next-redux-wrapper 7.0)

작성

·

1.1K

11

next-redux-wrapper가 7.0.0 버전으로 업데이트되면서 수정사항이 생겼습니다.

에러

Server Error

TypeError: nextCallback is not a function

해결 방법(변경사항)

version 6.0.2 >

const getServerSideProps = wrapper.getServerSideProps(async (context) => {

  context.store.dispatch(~~~);

  context.store.dispatch(END);

  await store.sagaTask.toPromise();

});

version 7.0.0 >

const getServerSideProps = wrapper.getServerSideProps(

  (store) =>

    async ({ req, res, ...etc }) => {

      store.dispatch(~~~);

      store.dispatch(END);

      await store.sagaTask.toPromise();

    }

);

추가적으로 동적라우팅 (강의 : 다이나믹 라우팅) 할 때도 (req, res, ...etc) > (req, res, params, ...etc) 로 수정하시면 됩니다.

next-redux-wrapper 참고 자료(getServerSideProps)

(https://github.com/kirill-konshin/next-redux-wrapper#getserversideprops)

변경사항

(https://github.com/kirill-konshin/next-redux-wrapper#upgrade-from-6x-to-7x)

답변 6

1

문서를 다시 보고 해결하였습니다.. 아에 잘못 설정해놨네요. 혹시 문제 있으신분 참고하세요.

export const getServerSideProps = wrapper.getServerSideProps(
  (store=> async () => {
    // 새로고침시 로그인 유지를 위한 dispatch
    store.dispatch(loadMyInfoRequestAction());
    store.dispatch(loadPostsRequestAction());

    store.dispatch(END);
    await store.sagaTask.toPromise();
  }
);

0

와 감사합니다 .. 계속 삽질했는데 덕분에 해결됬네요~

0

사랑합니다..

0

ENTRY님 loadMyInfoRequestAction, loadPostsRequestAction은 어디서 가져오신건가요?

저는 함수로 만들어서 해서그래요

답변 감사합니다~

0

말씀해주신데로 적용했는데 data를 가져오질 못하네요.

export const getServerSideProps = wrapper.getServerSideProps((store=> {
  async () => {
    // 새로고침시 로그인 유지를 위한 dispatch
    store.dispatch(loadMyInfoRequestAction());
    store.dispatch(loadPostsRequestAction());

    store.dispatch(END);
    await store.sagaTask.toPromise();
  };
});

0

오우 정말 감사합니다 한참 삽질했네요

ws00님의 프로필 이미지
ws00

작성한 질문수

질문하기