js

[Next.js] 서버 사이드 코드에서 쿼리스트링을 어떻게 가져오는데!

개발하는 가오나시 2022. 6. 29. 22:34

오늘은 회사에서 next.js로 만들어진 페이지의 기능을 추가할 일이 있어서 작업에 착수했다. 

 

주요 골자는 이전 페이지에서 도출된 결과를 다음 페이지로 넘겨주고 그 값에 다른 값들을 입력받아 회원가입을 진행하는 그런 플로우 였다.

 

그래서 당연히 react에서 하듯이 

const router = useRouter();

const {} = router.query;

이렇게 이전 페이지에서 쿼리스트링으로 넘겨준 값을 가져다가 쓰려고 했는데,

 

페이지 이동 전에 해당 값으로 다른 값을 조회해야할 일이 생겼다.

 

그래서

 

export const getServerSideProps(){
 const router = useRouter();
}

이렇게 짜면 되겠지 하고 저장을 딱 하자마자 에러가 났다. 

 

useRouter는 Hook이다. 당연 컴포넌트 안에서 사용해줘야 하는건데 또 생각을 놓고 코딩하려고 한 것이다.

 

getStaticProps, getServerSideProps 등은 이제 서버사이드에서 돌아가는 코드로 쿼리스트링을 사용하려면 props로 들어오는 context를 이용해야한다.

 

export async function getServerSideProps(context) {
  const {} = context.query
  return {
    props: {}
  }
}

 

장마철이라 비에 약한 나라서 요즘 정신이 자주 흐트러지는데, 집중 또 집중해야겠다.