공식 홈페이지 설명 : https://nextjs.org/learn/basics/data-fetching/two-forms
공식 홈페이지 : https://nextjs.org/docs/pages/building-your-application/rendering/static-site-generation

import React from 'react';
export default function BlogPost({ title, content }) {
return (
<div>
<h1>{title}</h1>
<p>{content}</p>
</div>
);
}
export async function getStaticPaths() {
// 미리 정적으로 생성할 페이지 경로들을 반환.
return {
paths: [
{ params: { slug: 'blog-post-1' } },
{ params: { slug: 'blog-post-2' } },
],
fallback: false, // 존재하지 않는 경로는 404 페이지 표시
};
}
export async function getStaticProps({ params }) {
// params.slug를 기반으로 필요한 데이터를 가져옴.
// 이 데이터는 페이지가 정적으로 생성될 때 빌드 시점에 호출.
const { slug } = params;
const response = await fetch(`https://api.example.com/blog/${slug}`);
const data = await response.json();
return {
props: {
title: data.title,
content: data.content,
},
revalidate: 60, // 60초마다 정적 페이지를 재생성.
};
}
공식 홈페이지 : https://nextjs.org/docs/pages/building-your-application/rendering/server-side-rendering

import React from 'react';
export default function UserProfile({ user }) {
return (
<div>
<h1>{user.name}</h1>
<p>{user.email}</p>
</div>
);
}
export async function getServerSideProps({ params }) {
// params.id를 기반으로 필요한 데이터를 서버 측에서 가져옴.
const { id } = params;
const response = await fetch(`https://api.example.com/users/${id}`);
const data = await response.json();
return {
props: {
user: data,
},
};
}
저도 개발자인데 같이 교류 많이 해봐요 ㅎㅎ! 서로 화이팅합시다!