inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Next.js 시작하기(feat. 지도 서비스 개발)

getStaticPaths로 각 매장의 상세 페이지 만들기

getStaticPaths-> getStaticProps

해결된 질문

586

오일중

작성한 질문수 23

1

export const getStaticPaths: GetStaticPaths = async () => {
  const stores = (await import('../public/stores.json')).default;
  const paths = stores.map((store) => ({ params: { name: store.name } }));

  return { paths, fallback: false };
};

export const getStaticProps: GetStaticProps = async ({ params }) => {
  const stores = (await import('../public/stores.json')).default;
  const store = stores.find((store) => store.name === params?.name);

  return { props: { store } };
};

getStaticPaths에서 리턴하는 paths가

getStaticProps 매개변수 params인가요??

seo next.js vercel csr ssg ssr

답변 1

0

박용주

안녕하세요. 질문 감사드립니다.

paths와 params는 서로 긴밀한 관련이 있지만 서로 같지는 않습니다.

1. getStaticPaths의 paths 값을 이용하여 [name].tsx 에 대해 어떤 페이지들을 pre-render 할 지 결정합니다.
즉, path의 값은 [{ params: { name: '마굿간편한식당' } }, { params: { name: '롸버트치킨 강남1호기' } }, ...] 와 같은 형태입니다. (빌드 타임에 '/마굿간편한식당', '/펠른' 과 같은 페이지를 만들 것임을 선언)
참고할 공식 문서: https://nextjs.org/docs/api-reference/data-fetching/get-static-paths#paths

2. getStaticProps는 params 값을 이용하여 현재 페이지( /[name] )의 'name' parameter를 가져옵니다. 예를 들어 '/펠른' 페이지에서 params 값은 { name: '펠른' } 입니다.

즉 paths를 이용해 어떤 경로의 페이지를 pre-render 할 지 결정하고, params를 이용해 각각의 페이지에 맞는 param을 가져올 수 있습니다.

예제 코드의 주석을 살펴보면 더 잘 이해되실 것 같습니다ㅎㅎ(https://nextjs.org/docs/api-reference/data-fetching/get-static-paths#fallback-false)

감사합니다 :)

 

API 라우터를 사용해야 하는 경우에 대해

1

150

1

키보드 어떤 거 사용하시나요

1

352

1

next.js 멀티플 런타임 관련해서 질문 올립니다..

1

358

2

아주 기초적인 질문입니다.

1

322

1

서버사이드 렌더링을 할 때, 서버는 어디에 있는 건가요?

1

1170

2

수업을 듣다가 SSR에 관하여..

1

551

2

interface 와 type

1

376

1

엘리맨트들의 자식관계가 어떻게 이렇게 되나 궁금합니다.

1

384

1

onLoad함수 (script태그의 onLoad X)

1

426

1

dynamic에 대한 질문

1

447

1

SSR vs SSG

1

476

2

NoSSR 관련한 질문입니다:)

1

376

1

a tag 질문 !

1

327

2

8분 20초 배포 관련

1

324

2

안녕하세요! 구글 서치 콘솔에 등록하는 도중 다음 오류가 뜹니다

0

2679

2

emotion styles 파일이 빌드시 경고로 뜹니다.

1

438

1

naver map 이 출력되지 않습니다.

1

481

1

페이지에 site맵 존재시 next Link는 csr 처럼 싹가져오게 되나요?

1

264

2

Failed to load resource: the server responded with a status of 404 ()

1

1034

2

VSCode 익스텐션 궁금합니다.

1

357

1

상태관리 질문 있습니다!

1

450

1

swr에 대한 질문입니다. (용어 관련)

1

374

1

swr 질문입니다!

1

338

1

안녕하세요. span 태그의 부모에 display: flex 를 적용하는데 왜 적용되는지 아무리 생각해도 이해가 되지 않아 질문드립니다.

1

681

2