inflearn logo
강의

講義

知識共有

一口サイズでかじり取るNext.js

2.12) SSR 2. 実習

SSR시 context에 params말고 query를 사용하면 안되나요?

解決済みの質問

73

murphy

投稿した質問数 7

0

getServerSideProps에서 context 찍어보니

query, prarms 둘다에 id가 있는데

query를 사용하면 타입에러도 나지 않던데 query를 사용하면 안되는걸까요?

둘 차이가 궁금합니다.

image.png

 

react typescript next.js

回答 2

1

winterlood

안녕하세요 이정환입니다.

말씀하신대로 Next.js는 내부적으로 query와 param을 합쳐서 제공합니다.

그러나 ~/book/[id] 처럼 URL Parameter를 사용하는 페이지에서는 [id] 값을 불러올 때에 query보다는 param으로 접근하시는게 좋습니다. 그 이유는 아래와 같이 해당 경로에 쿼리스트링이 추가되었을 때 param과 query의 구분이 어려워지기 때문입니다.

~/book/abc?q=123 
// - param :  {id : "abc"}
// - query : {q : 123}

 

 

 

0

murphy

감사합니다!

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. Murphy님.

SSR(Server-Side Rendering)에서 Next.js의 getServerSideProps 내에서 context 객체를 사용할 때 paramsquery의 차이에 대해 궁금해 하셨군요. 두 가지는 중요한 차이점이 있습니다.

params vs. query

  1. params:

    • 설명: params는 동적 라우트에 의해 URL 경로에서 추출된 값입니다. 예를 들어 경로가 /book/[id] 형식이라면 /book/10 호출 시 params{ id: '10' } 이 됩니다.
    • 사용: 주로 명시적으로 경로에 포함된 값을 다루는 데 사용됩니다.
  2. query:

    • 설명: query는 URL에 명시적으로 명시된 쿼리 스트링이며 ?key=value 형태로 추가됩니다.
    • 사용: 주로 추가적인 URL 매개변수를 전달할 때 사용됩니다. 해당 쿼리 스트링이 항상 문자열로 사용되기 때문에 타입검사에서 더욱 유연합니다.

차이점 및 선택 사항

  • id가 경로의 일부일 경우에는 params를 사용하는 것이 일반적이지만, 간단한 값의 사용이나 쿼리 값을 자주 바꾸어야 하는 상황이면 query로 접근할 수 있습니다.
  • 큰 차이를 느끼지 못할 수 있지만, RESTful 설계 원칙에 따라 경로를 더 명확히 하고 싶다면 라우팅에 적합한 params를 사용하는 것이 권장됩니다.

관련 참고 자료

다음 링크에서 유사한 질문에 대한 추가 정보를 확인할 수 있습니다:

위 설명을 통해 paramsquery의 차이를 이해하시는 데 도움이 되길 바랍니다. 문제 해결에 참고하시고, 추가적인 궁금증이 생기시면 언제든지 질문해 주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Next.js + Tanstack Query BFF 구조 질문

0

10

1

Next.js 사전렌더링 이해하기 부분

0

27

2

모달 관련 질문

0

34

3

렌더링 관련 질문

0

78

2

중복으로 하나의 api를 요청할 때 캐싱 옵션 통일화

0

62

2

라우트 세그먼트 옵션 강좌 노트에 사소한 제보 남깁니다.

0

60

2

npx prisma db push 시 에러가 뜹니다.

0

92

3

vercel 배포를 실패하였습니다.

0

97

3

Image 컴포넌트 사용시 브라우저 콘솔에 경고는 왜 뜨는걸까요?

0

55

2

getServerSideProps 함수와 SSR의 관계

0

76

6

없는 페이지인데 풀라우트캐시로 저장이 되는 이유가 궁금합니다

0

58

2

실제 프로젝트에서 SSR 사용에 관해서 질문드립니다.

0

112

2

일반적인 nextjs project architecture에 대하여..

0

85

2

2.14 Search에서 작성한건 static이긴하지만 CSR이 아닌가요?

0

71

2

배포 시 오류 발생

0

87

2

백엔드 서버 오류납니다.

0

81

2

취약점 제거시 nestjs 버전 문제가 생길까요?

0

89

1

eslint.config.mjs 내 rules 어떻게 설정 하나요?

0

103

1

[book]/[id]/page.tsx 모달 띄울 때 성능 하락 현상은 ReviewList를 불러오면서 발생하는 문제 같습니다.

0

60

2

빨간줄 설정

0

75

2

익스텐션 질문

0

58

1

강의 들으면서 궁금한 부분 질문드립니다.

0

109

1

서버 배포 에러입니다.

1

98

2

[5.2) 풀라우트 캐시 2] fetch의 cache 옵션 기본값 질문: no-store/force-cache

1

102

2