일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Kotlin 클래스 속성정의
- Variable declaration
- git
- Kotlin 조건문
- 성공
- Python Class
- 장고 가상환경
- Kotlin 클래스
- 강제 타입변환
- 좋은글
- Kotlin If
- 넥스트js
- 파이썬 제어문
- Python
- activate 오류
- python Django
- 파이썬
- Kotlin Class
- 클래스 속성
- Kotlin else if
- github
- 다중조건문
- django virtualenv
- 자바 기본타입
- 도전
- 파이썬 장고
- 파이썬 반복문
- NextJs
- 파이썬 클래스
- 희망
Archives
- Today
- Total
키모스토리
#9. Error handling 본문
반응형
예를 들어 #8에서 테스트 했던 코드중에 MovieVidios fetch 를 처리 하는 도중 오류가 발생했을 경우
해당 페이지 전체는 오류로 인해 페이지를 표시 할 수 없게 된다.
이때 error.tsx파일을 이용하여 애러를 처리 할 수 있다
(movies)/movies/[id]/page.tsx
import { Suspense } from "react";
import MovieInfo from "../../../components/movie-info";
import MovieVideos from "../../../components/movie-videos";
export const metadata = {
title: "Movie Detail",
}
export default async function MovieDetail({
params,
}: {
params: Promise<{ id: string }>
}) {
// 내부에서 구조 분해 할당
const { id } = await params;
return (
<div>
<h1>Movie Detail Page</h1>
<Suspense fallback={<h3>Loading movie info</h3>}>
<MovieInfo id={id} />
</Suspense>
<h2>Videos</h2>
<Suspense fallback={<h3>Loading movie videos</h3>}>
<MovieVideos id={id} />
</Suspense>
</div>
)
}
error.tsx
애러가 발생한 부분을 error.tsx 에서 리턴한 메시지로 표시하고 나머지 부분은 정상 출력 되는것을 확인 할 수 있다.
해당 파일은 해당 폴더에 속한 pages.tsx 에만 적용이 되며 다른 페이지에서도 적용하려면 별도록 error.tsx를 작성해 주어야 한다.
error를 처리하는 기법은 다양한 case가 존재 하기 때문에 후에 다시 정리 하도록 한다.
반응형
'Web Devlopment > NextJs' 카테고리의 다른 글
#11. Tailwind CSS (0) | 2025.03.30 |
---|---|
#10. global css (0) | 2025.03.29 |
#8. fetch - Promise.all, Suspense (0) | 2025.03.28 |
#7. fetch (0) | 2025.03.28 |
#6. Dynamic Routes (0) | 2025.03.27 |