params부분 에러
fetch 부분에서 다음과 같이 작성하였는데 params.id부분에서 id 부분에
Property 'id' does not exist on type 'Promise<{ id: string | string[]; }>'.ts(2339)
이러한 에러가 발생합니다.
const result = await fetch(
`${process.env.NEXT_PUBLIC_API_SERVER_URL}/book/${params.id}`
);
Answer 3
0
안녕하세요 이정환입니다.
params는 Promise로 래핑된 비동기 객체입니다. 따라서 내부의 값을 꺼내 사용하시려면 await를 통해 비동기 작업이 끝나기 까지 기다렸다가 그 결과값을 꺼내 사용하셔야 합니다. 마치 const {id} = await params 처럼 말이죠 😃
자세한 내용은 우리 강의의 3.2) 페이지 라우팅 설정하기 의 12분 02초 경에 설명 드리고 있으니 해당 부분만 짧게 다시 수강하시는 것도 추천드립니다!
0
일단 이렇게 parmas를 await으로 감싸니 해결됐는데 이게 맞는 방법일까요?
`${process.env.NEXT_PUBLIC_API_SERVER_URL}/book/${(await params).id}`
0
전체 코드도 첨부 하겠습니다
import style from "./page.module.css";
export default async function Page({
params,
}: {
params: Promise<{ id: string | string[] }>;
}) {
const result = await fetch(
`${process.env.NEXT_PUBLIC_API_SERVER_URL}/book/${params.id}`
);
if (!result.ok) {
return <div>에러 발생 ...</div>;
}
const book = await result.json();
const { id, coverImgUrl, title, subTitle, author, publisher, description } =
book;
return (
<div className={style.container}>
<div
className={style.cover_img_container}
style={{ backgroundImage: `url('${coverImgUrl}')` }}
>
<img src={coverImgUrl} />
</div>
<div className={style.title}>{title}</div>
<div className={style.subTitle}>{subTitle}</div>
<div className={style.author}>
{author} | {publisher}
</div>
<div className={style.description}>{description}</div>
</div>
);
}
Next.js + Tanstack Query BFF 구조 질문
0
11
1
Next.js 사전렌더링 이해하기 부분
0
27
2
모달 관련 질문
0
34
3
렌더링 관련 질문
0
78
2
중복으로 하나의 api를 요청할 때 캐싱 옵션 통일화
0
62
2
라우트 세그먼트 옵션 강좌 노트에 사소한 제보 남깁니다.
0
60
2
SSR시 context에 params말고 query를 사용하면 안되나요?
0
73
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
86
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

