개발자

getServerSideProps를 컴포넌트에서 사용할 수 있나요?

2023년 02월 20일조회 625

개발 공부하는 학생입니다. next.js를 공부하는 중에 getServerSideProps를 구현했는데 이게 최상위 파일에서만 되고 컴포넌트에서는 호출이 안되는것 같아요. 혹시 어떻게 사용하는지 알려주실분 계신가요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 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 Engineer2023년 02월 21일

아 혹시 getServerSideProps에서 받아온 데이터를 클라이언트단에서 어떻게 사용하시는지 모르셨던거라면, function Page({ data }) 컴포넌트(질문자님 코드에서는 home.tsx에서 export하는 컴포넌트가 되겠네요)상에서 data를 받아서 쓰시면 됩니다. 페이지 하위 컴포넌트에 전달하고 싶으시면, 하위 컴포넌트 props에 data를 넣어주면 되겠죠?

profile picture

익명

작성자

2023년 02월 22일

오 친절한 설명 너무 감사드립니다ㅠㅠ 덕분에 잘 이해했습니다 앞으로 공식문서도 더 꼼꼼히 읽어볼게요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!