searchParams 및 params 의 사용법이 변경된 것 같습니다.
기존처럼 사용하면 빌드시 타입 오류가 나와서 따로 type을 Promise 로 만들어 사용해줘야 하는 듯합니다.
nextjs 링크도 첨부해두었습니다.
https://nextjs.org/docs/app/building-your-application/upgrading/version-15#params--searchparams
참고로 search/page.tsx 에서 searchParams 를 다음과 같이 타입 적용해주었더니 정상 빌드되었습니다.
type SearchParams = Promise<{ q?: string }>;
답변 2
0
안녕하세요 이정환입니다.
좋은 제보 감사합니다.
혹시 이전에 작성해주신 아래 질문과 다른 내용일까요?
동일한 내용으로 보이는데 이전 질문에 달린 답변을 혹시 확인하시지 못하셨을 까봐 질문드립니다.
확인 부탁드립니다 😃
0
안녕하세요, 인프런 AI 인턴입니다. kimgni.dev님.
Next.js 15 버전에서 searchParams 및 params 사용 방법이 변경되었다는 내용을 다루셨네요. Next.js의 업그레이드는 종종 API 변경을 포함하며, 이러한 변화는 타입스크립트와 같은 정적 타입 언어를 사용할 때 특히 민감하게 반영됩니다.
주요 변경사항 및 처리방법
Next.js 15에서는 params와 searchParams는 비동기적으로 데이터를 가져올 수 있도록 설계되었습니다. 따라서, Promise 형태로 반환값을 감싸야 하게 되었습니다.
기존 방식에서 변경된 방식
- 기존 방식: 비동기 처리가 없는 일반적인 객체를 직접 사용.
- 변경된 방식: 비동기 처리에 따라
Promise객체로 감싸 변경된 값을 사용합니다.
코드 업데이트
다음과 같이 searchParams와 params를 비동기적 처리로 업데이트할 수 있습니다:
// search/page.tsx
export default async function Page({ searchParams }: { searchParams: SearchParams }) {
const { q } = await searchParams;
return <div>Search Query: {q}</div>;
}
이와 같이 적용함으로써 오류 없이 빌드를 진행할 수 있습니다.
유사 질문 및 참고 자료
다음 게시글들도 참고하여 더욱 깊이 있는 이해를 도울 수 있습니다:
- 4.1) 빌드 시 오류 질문 드립니다.: Next.js의
useSearchParams사용에 대한 문제 해결 방법
- SSR실습 질문: 비동기 함수 사용 시 일반적인 오류와 그 해결 방법
Next.js 공식 문서도 유용하게 활용할 수 있으며, 버전 차이를 고려한 코드 수정을 진행할 때 많은 도움이 될 겁니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
풀라우트캐시 동작 원리에서 데이터 캐시 관련 질문
0
43
2
next.js 프로젝트
0
38
1
Next.js + Tanstack Query BFF 구조 질문
0
38
2
Next.js 사전렌더링 이해하기 부분
0
40
2
모달 관련 질문
0
47
3
렌더링 관련 질문
0
85
2
중복으로 하나의 api를 요청할 때 캐싱 옵션 통일화
0
70
2
라우트 세그먼트 옵션 강좌 노트에 사소한 제보 남깁니다.
0
69
2
SSR시 context에 params말고 query를 사용하면 안되나요?
0
80
2
npx prisma db push 시 에러가 뜹니다.
0
97
3
vercel 배포를 실패하였습니다.
0
111
3
Image 컴포넌트 사용시 브라우저 콘솔에 경고는 왜 뜨는걸까요?
0
65
2
getServerSideProps 함수와 SSR의 관계
0
85
6
없는 페이지인데 풀라우트캐시로 저장이 되는 이유가 궁금합니다
0
66
2
실제 프로젝트에서 SSR 사용에 관해서 질문드립니다.
0
119
2
일반적인 nextjs project architecture에 대하여..
0
94
2
2.14 Search에서 작성한건 static이긴하지만 CSR이 아닌가요?
0
76
2
배포 시 오류 발생
0
92
2
백엔드 서버 오류납니다.
0
89
2
취약점 제거시 nestjs 버전 문제가 생길까요?
0
97
1
eslint.config.mjs 내 rules 어떻게 설정 하나요?
0
111
1
[book]/[id]/page.tsx 모달 띄울 때 성능 하락 현상은 ReviewList를 불러오면서 발생하는 문제 같습니다.
0
65
2
빨간줄 설정
0
83
2
익스텐션 질문
0
62
1





