Next.js 공식문서를 보게 되면 pre_rendering 에 대해 매우 강조하며 자랑스러워 하고있다고 느껴진다.
그럼 pre_rendering 이 대체 무엇일까?
필자는 SSR 과 SSG에 대해 간략히 알아본다면 보다 쉽게 pre_rendering 에 대해 이해할 수 있다는 생각이 들었다. 그럼 간략히 SSR, SSG 에 대해 알아보자.
클라이언트(유저)측에서 여러 상황에 따라 이벤트가 발생하여 서버측으로 요청을 보낼 경우 서버측에서 JavaScrip 코드를 실행하여 완성된 HTML 파일을 실시간으로 전달해 주는 것
빌드타임 에 완성된 페이지를 생성하고 서버측에서 소유하고 있다가 페이지에 접속을 하면 완성된 HTML 파일 형태를 전달해 주는 것.
// getSortedPostData는 필자가 미리 정의해놓은 함수임으로 신경쓰지 않아도 된다.
export async function getStaticProps() {
const postDatas = getSortedPostData()
return {
props: {
postDatas
}
}
}
export default function Home({ postDatas }) {
return (
<section>
<h2>Blog</h2>
<ul>
{allPostsData.map(({ id, date, title }) => (
<li key={id}>
{title}
<br />
{id}
<br />
{date}
</li>
))}
</ul>
<section>
)
}
export async function getServerSideProps(context) {
return {
props: {
// props for your component
},
};
}