강의

멘토링

커뮤니티

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

지수님의 프로필 이미지
지수

작성한 질문수

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

2.14) SSG 2. 정적 경로에 적용하기

검색을 하면 데이터가 나오지 않습니다..

해결된 질문

작성

·

84

0

스크린샷 2025-05-21 오전 2.33.20.png

index.tsx에 getStaticProps로 변경하고 검색을 하면 데이터가 나오질 않습니당..!ㅠ0ㅠ

검색을 한 뒤 페이지를 이동하면 오류 내용은 아래와 같습니다.

스크린샷 2025-05-21 오전 2.36.05.png

 

챗지피티한테 물어봐도 감이 안 와서 질문 올려봅니다..

 

import SearchableLayout from "@/components/searchable-layout";
import style from "./index.module.css";
import { ReactNode } from "react";
import BookItem from "@/components/book-item";
import { InferGetStaticPropsType } from "next";
import fetchBooks from "@/lib/fetch-books";
import fetchRandomBooks from "@/lib/fetch-random-book";

export const getStaticProps = async () => {
  console.log("인덱스 페이지");
  const [allBooks, recoBooks] = await Promise.all([
    fetchBooks(),
    fetchRandomBooks(),
  ]);

  return {
    props: {
      allBooks,
      recoBooks,
    },
  };
};

export default function Home({
  allBooks,
  recoBooks,
}: InferGetStaticPropsType<typeof getStaticProps>) {
  return (
    <div className={style.container}>
      <section>
        <h3>지금 추천하는 도서</h3>
        {recoBooks.map((book) => (
          <BookItem key={book.id} {...book} />
        ))}
      </section>
      <section>
        <h3>등록된 모든 도서</h3>
        {allBooks.map((book) => (
          <BookItem key={book.id} {...book} />
        ))}
      </section>
    </div>
  );
}

Home.getLayout = (page: ReactNode) => {
  return <SearchableLayout>{page}</SearchableLayout>;
};

답변 2

0

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

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

문제는 fetchBooks 함수에 있었네요 함수 내부에서 검색어 q가 있을 경우 url 끝에 쿼리 파라미터를 추가하는 과정 중에 템플릿 리터럴이 아닌 일반 문자열을 사용하셨습니다. 쌍따옴표 (")가 아닌 백틱(`)을 사용하도록 수정하셔야 합니다.

image.png

 

0

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

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

현재 보내주신 코드만으로는 정확한 원인 파악이 어렵습니다. 일단 인덱스 페이지의 코드 자체에는 문제가 없어보입니다. .next 폴더를 삭제하고 프로젝트를 다시 가동해보시거나 그래도 안된다면 전체 프로젝트 코드를 Github이나 GoogleDrive를 통해 전달해주세요

PS. 질문 올리시기 전, 질문 가이드라인도 한번 읽어주시면 감사하겠습니다

image.png

 

 

지수님의 프로필 이미지
지수
질문자

네! 감사합니다 :)

지수님의 프로필 이미지
지수
질문자

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

엑세스 권한이 계속 거부됩니다 ㅠㅠ 권한 확인이 필요할 것 같아요

image.png

 

지수님의 프로필 이미지
지수
질문자

권한 확인 완료했습니다! 불편 드려죄송합니다ㅠ0ㅠ

지수님의 프로필 이미지
지수

작성한 질문수

질문하기