Next.js 12 - getStaticProps, getStaticPaths

2025. 8. 21. 15:16·♠️ Next.js 12

Next.js 12

 

✅ getStaticProps


getServerSideProps는 사용자가 요청할 때마다 실행됨.

getStaticProps는 빌드시에 딱 한 번만 실행되기 때문에 최신 데이터가 반영이 안 됨

export async function getStaticProps() {
  const blogPosts = readdirSync("./posts").map((file) => {
    const content = readFileSync(`./posts/${file}`, "utf-8");
    const [slug, _] = file.split(".");
    return { ...matter(content).data, slug };
  });
  return {
    props: {
      posts: blogPosts.reverse(),
    },
  };
}

export default Blog;

 

 

✅ getStaticPaths


getStaticProps를 사용하면서 동적 url을 사용해야 할 때 getStaticPaths가 필요하다

(Next.js에게 생성해야 하는 페이지의 수를 알려줘야 하기 때문)

export function getStaticPaths() {
  const files = readdirSync("./posts").map((file) => {
    const [name, _] = file.split(".");
    return { params: { slug: name } };
  });
  return {
    paths: files,
    fallback: false,
  };
}

export const getStaticProps: GetStaticProps = async (ctx) => {
  const { content, data } = matter.read(`./posts/${ctx.params?.slug}.md`);
  const { value } = await unified()
    .use(remarkParse)
    .use(remarkHtml)
    .process(content);
  return {
    props: {
      data,
      post: value,
    },
  };
};

export default Post;

 

'♠️ Next.js 12' 카테고리의 다른 글

Next.js 12 - ODR(On Demand Revalidation)  (0) 2025.08.21
Next.js 12 - ISR(Incremental Static Regeneration)  (0) 2025.08.21
Next.js 12 - SSR + SWR  (1) 2025.08.06
Next.js 12 - Script Component & strategy & onLoad  (0) 2025.08.06
Next.js 12 - _document.tsx  (0) 2025.08.06
'♠️ Next.js 12' 카테고리의 다른 글
  • Next.js 12 - ODR(On Demand Revalidation)
  • Next.js 12 - ISR(Incremental Static Regeneration)
  • Next.js 12 - SSR + SWR
  • Next.js 12 - Script Component & strategy & onLoad
j2yonghwa
j2yonghwa
Trying to be a fullstack developer 🚀
  • j2yonghwa
    j2yonghwa
    j2yonghwa
  • 전체
    오늘
    어제
    • 분류 전체보기 (156)
      • ⏰ Daily WakaTime (1)
      • 🏖️ 노마드코더 (2)
      • 🍺 Dev Setup (3)
      • 🔭 Tech Info (1)
      • 🚫 Error (1)
      • 📂 라이브러리 (23)
      • ♣️ Next.js 14 (10)
      • ♠️ Next.js 12 (20)
      • 🛸 React Native (12)
      • 🦋 TypeScript (1)
      • 🐍 Python (2)
      • 🌊 TailwindCSS (4)
      • 🧩 SQL (25)
      • 💎 Prisma (5)
      • 🌱 MongoDB (4)
      • 🎯 Redis (1)
      • 🧬 GraphQL (2)
      • 🔥 Firebase (7)
      • 💸 Third-Party Services (2)
      • 🕸️ Web (1)
      • 🏆 코딩테스트 (23)
      • 📙 모딥다 (5)
      • 📗 코테 합격자 되기 -JS- (0)
      • 📘 클린코드 (0)
      • 🍯 꿀팁 🐝 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 깃헙
  • 공지사항

  • 인기 글

  • 태그

    tailwindcss
    dev setup
    React Native
    API
    라이브러리
    react router
    mongoDB
    SQL
    모딥다
    Python
    MySQL
    PostgreSQL
    Next.js
    자바스크립트
    Prisma
    코딩테스트 입문
    Firebase
    next.js 12
    0레벨
    next.js 14
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
j2yonghwa
Next.js 12 - getStaticProps, getStaticPaths
상단으로

티스토리툴바