Next - getServerSideProps
getServerSideProps : page가 요청 받을때 마다 호출되어 pre-rendering
- SSR (Server Side Rendering) 개념
- pre-render가 꼭 필요한 동적 데이터가 있는 page에 사용
- 매 요청마다 호출, 내용을 언제든 동적으로 수정이 가능
문법
1 ) Return Values
: props, notFound, redirect 의 3 가지 리턴값을 가진다.
- props : Page 컴포넌트의 props에 전달될 객체를 서버로부터 받아온 데이터를 가공하여 전달해주는데 활용
- notFound : boolean 값을 가지며 { notFound: true } 가 리턴되면 해당 페이지는 404 응답과 함께 Page Not Found 화면으로 이동
- redirect : 개발자가 지정한 경로로 페이지를 리다이렉트하기 위해 사용되는 값
export const getServerSideProps = async ({ params }) => {
const res = await fetch(
`url`
);
const abc = await res.json();
return {
props: { abc, id: params.id },
};
};
2) Parameter
: getServerSideProps는 context 라는 파라미터를 받는다.
context: {
params: 페이지가 Dynamic Route 를 사용한 경우 들어오는 데이터,
pages/[id].tsx 라면 params 에는 id 값이 들어온다.
req: Request 정보
res: Response 정보
query: 쿼리 스트링 데이터가 담겨있다.
preview: Preview 모드 사용 유무 (boolean)
previewData: Preview 모드 사용시 전달된 데이터
resolvedUrl: Request 된 URL 의 좀 더 일반화된 버전의 url
locale: 현재 locale 정보
locales: 지원되는 모든 locale 정보
defaultLocale: 기본 locale 정보
}
출처
https://yohanpro.com/posts/nextjs/data-fetching
Next.js에서 data-fetching하기 - Yohan's Developer Diary
Next.js팀 (Vercel)팀은 2020년 3월 10일에 9.3버전의 Next.js를 공개했다. 달라진 것 중에서 가장 눈에 띄는 것은 단연 data-fetcing 하는 메소드가 두 개가 추가된 것이다. 즉 pages 폴더 아래에 있는 엔드포인
yohanpro.com
https://woobiblog.com/Javascript/Nextjs_Data_Fetching_getServerSideProps
[Next.js] Data Fetching - getServerSideProps
오늘은 Next.js 에서 제공하는 렌더링 방식 중 SSR 을 구현하는 방법을 알아보고, SSR 에서 데이터를 가져오는 작업을 어떻게 수행하는지 알아보려 한다. 1. 페이지를 SSR 로 렌더링하기 기본적으로
woobiblog.com
Next.js - getStaticProps vs. getServerSideProps, 차이와 활용
Next.js 9.3 버전부터는 pre-rendering을 위한 data fetching을 위한 기존 기능인 getInitialProps가 getStaticProps, getServerSideProps, getStaticPaths로 분리되었습니다. 모두 pre-render가 필요한 경우에만..
beside-lab.tistory.com