개발자
개발 공부하는 학생입니다. next.js를 공부하는 중에 getServerSideProps를 구현했는데 이게 최상위 파일에서만 되고 컴포넌트에서는 호출이 안되는것 같아요. 혹시 어떻게 사용하는지 알려주실분 계신가요?
답변 1
인기 답변
안녕하세요! 아래 Next.js 공식 문서를 보시면 사용법이 잘 나와있습니다. https://nextjs.org/docs/basic-features/data-fetching/get-server-side-props getServerSideProps는 페이지 파일 안에서만 사용할 수 있다는 얘기가 나오구요, "getServerSideProps can only be exported from a page. You can’t export it from non-page files." 기본적으로는 아래와 같이 사용하시면 됩니다. function Page({ data }) { // Render data... } // This gets called on every request export async function getServerSideProps() { // Fetch data from external API const res = await fetch(`https://.../data`) const data = await res.json() // Pass data to the page via props return { props: { data } } } export default Page 사용법을 모를 땐 항상 먼저 공식 문서를 보시는 게 가장 효과적이에요! 마찬가지로 혹시라도 React Query를 통해 Next.js SSR을 구성하시는 경우에는 아래 React Query의 공식 문서를 참고해보세요! https://tanstack.com/query/latest/docs/react/guides/ssr

김석현
Software Engineer • 2023년 02월 21일
아 혹시 getServerSideProps에서 받아온 데이터를 클라이언트단에서 어떻게 사용하시는지 모르셨던거라면, function Page({ data }) 컴포넌트(질문자님 코드에서는 home.tsx에서 export하는 컴포넌트가 되겠네요)상에서 data를 받아서 쓰시면 됩니다. 페이지 하위 컴포넌트에 전달하고 싶으시면, 하위 컴포넌트 props에 data를 넣어주면 되겠죠?
익명
작성자
2023년 02월 22일
오 친절한 설명 너무 감사드립니다ㅠㅠ 덕분에 잘 이해했습니다 앞으로 공식문서도 더 꼼꼼히 읽어볼게요!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!