강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

우치하마다라님의 프로필 이미지
우치하마다라

작성한 질문수

한 입 크기로 잘라먹는 Next.js(v15)

7.1) 서버 액션을 소개합니다

7-1 서버 액션에서 Page 컴포넌트 옮기는 과정 질문드립니다.

해결된 질문

작성

·

59

·

수정됨

0

안녕하세요 정환님 강의 잘 보고 있습니다.

이번 섹션 8. 7.1) 서버 액션을 소개합니다. 에서 궁금한게 있는데요 이전에 섹션 4. App Router에서 32. 3.2)페이지 라우팅 설정하기 강의에서 "URL 파라미터나 searchParams, Query String 같은 값은 Promise로부터 꺼내써야 되는걸로 알고 그렇게 변경해서 사용했습니다."

 

const BookDatail = async ({ bookId }: { bookId: string }) => {

  const response = await fetch(
    `${process.env.NEXT_PUBLIC_API_SERVER_URL}/book/${bookId}`
  );

// ... 생략

/* 저의 code */
export default async function Page({
  params,
}: {
  params: Promise<{ id: string }>;
}) {
  const { id } = await params;
  return (
    <div>
      <BookDatail bookId={id} />
    </div>
  );
}

/* 정환님이 강의해서 사용한 code */
export default function Page({
  params,
}: {
  params: {id:string};
}) {
  return (
    <div>
      <BookDatail bookId={params.id} />
    </div>
  );
}

경로 app/book/[id]/page.tsx

 

URL 파라미터 값을 Promise로부터 꺼내와야 된다는 업데이트 강의 부분을 보고 한거라서 이게 맞는지 헷갈리네요 강의 전체를 아직 수강 전 인데 헷갈릴까봐 질문드립니다.

답변 1

1

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 우치하마다라님 이정환입니다.

네 맞습니다. /*저의 Code*/라고 표기해 주신 부분 처럼 Promise에서 꺼내 사용하시면 됩니다!

PS. 나루토 팬이시군요 저는 미나토를 좋아합니다. 금빛 섬광 멋있지 않나요?

ㅎㅎㅎ 감사합니다. 당연히 멋있죠

우치하마다라님의 프로필 이미지
우치하마다라

작성한 질문수

질문하기