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

HyeJung님의 프로필 이미지

작성한 질문수

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

2.16) SSG 4. 폴백옵션 설정하기

2.16) 영상 15분 13초쯤 부터 설명해주시는 notFound: true 관련 질문 있습니다

해결된 질문

24.08.23 19:55 작성

·

94

0

영상처럼

if (!book) {
    return {
      notFound: true,
    };
}

이렇게 코드 설정을 하면 컴포넌트에서 작성했던

if (!book) return "문제가 발생했습니다 다시 시도하세요";

해당 코드는 작성하지 않고 폴백중에 로딩만 표시되도록 해도 되는게 맞을까요?

 

 

🚨 아래의 가이드라인을 꼭 읽고 질문을 올려주시기 바랍니다 🚨

질문 하시기 전에 꼭 확인해주세요- 질문 전 구글에 먼저 검색해보세요 (답변을 기다리는 시간을 아낄 수 있습니다)
- 코드에 오타가 없는지 면밀히 체크해보세요 (Date와 Data를 많이 헷갈리십니다)
- 이전에 올린 질문에 달린 답변들에 꼭 반응해주세요 (질문에 대한 답변만 받으시고 쌩 가시면 속상해요 😢)

질문 하실때 꼭 확인하세요
- 제목만 보고도 무슨 문제가 있는지 대충 알 수 있도록 자세한 제목을 정해주세요 (단순 단어 X)
- 질문의 배경정보를 제공해주세요 (이 문제가 언제 어떻게 발생했고 어디까지 시도해보셨는지)
- 문제를 재현하도록 코드샌드박스나 깃허브 링크로 전달해주세요 (프로젝트 코드에서 문제가 발생할 경우)
- 답변이 달렸다면 꼭 확인하고 반응을 남겨주세요

- 강의의 몇 분 몇 초 관련 질문인지 알려주세요!
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

답변 1

1

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

2024. 08. 24. 11:29

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

우선 Fallback 상태일 때에는 로딩 외에는 딱히 표시할 UI가 없습니다. Fallback이 로딩중에 나타나는 대체제 라는 뜻이기 때문입니다. 혹시 다른 UI를 표시하고 싶으시다면 if(router.isFallback) 조건문안에 별도의 UI를 리턴하도록 설정해주시면 됩니다.

그러나 만약 Fallback이 끝난 이후에도 book 데이터가 없어 !book이 참이라면 그때에는 현재 페이지에 표시할 도서 데이터가 없다는 뜻이므로 에러 UI를 렌더링하거나 404 페이지로 리디렉션 시켜주시면 됩니다. 따라서 우리 강의에서는 notFound: true를 리턴하여 404페이지로 리디렉션 시켜주었습니다.

 

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

2024. 08. 24. 19:02

감사합니다!

HyeJung님의 프로필 이미지

작성한 질문수

질문하기