next 에러처리 관련 질문
안녕하세요.
프로젝트에서 error.tsx를 띄우는 예시로, 백엔드 서버를 종료하여 데이터를 받아오지 못하게 함으로써 error.tsx가 표시되는 경우를 다루셨습니다. 이때, "백엔드 서버를 종료해서 데이터를 받아오지 못하게 함"을 "페이지가 렌더링되지 못하게 함"으로 이해해도 괜찮은지 궁금합니다.
이 질문을 드리게 된 이유는, 프로젝트에서 에러를 처리할 때 error.tsx나 에러 페이지를 띄우는 것 외에도 다양한 방식으로 에러를 처리할 수 있기 때문입니다. 예를 들어, 에러 모달을 띄운다거나, 다른 페이지로 이동시키는 등의 방법도 있습니다. 그래서 error.tsx가 어떤 종류의 에러에 대한 대비책인지 명확히 이해하고 싶습니다.
저는 error.tsx가 예상치 못한 500번대 서버 에러와 같은 페이지나 컴포넌트 렌더링 실패를 처리하는 페이지라고 이해하고 있는데, 제 이해가 맞는지 궁금합니다.
답변 1
1
안녕하세요 이정환입니다.
우선 백엔드 서버를 종료해 데이터를 정상적으로 불러오지 못하게 하는 동작은 "페이지 컴포넌트가 정상적으로 실행되지 못하게 함" 으로 이해하시는게 더 정확할 것 같습니다.
추가로 error.tsx는 엄밀히 말씀드리면 페이지 컴포넌트를 실행하는 도중 오류가 발생했을 때 페이지 컴포넌트 대신 화면에 렌더링 될 컴포넌트를 정의하는 기능입니다. Page 컴포넌트에 try-catch 블록을 씌운 것과 동일한 방식이라고 이해하시면 될 것 같습니다.
따라서 error.tsx는 어떤 종류의 에러 대비책이라기 보다는, 페이지 컴포넌트를 실행하는 도중에 발생하는 모든 오류를 처리하는 용도로 활용된다고 보시는게 좋을 것 같습니다. API 호출 에러이든, null 관련 에러이든 페이지 컴포넌트에서 발생한 에러라면 모두 처리하게 되니까요 😃
풀라우트캐시 동작 원리에서 데이터 캐시 관련 질문
0
52
2
next.js 프로젝트
0
50
1
Next.js + Tanstack Query BFF 구조 질문
0
47
2
Next.js 사전렌더링 이해하기 부분
0
52
2
모달 관련 질문
0
56
3
렌더링 관련 질문
0
92
2
중복으로 하나의 api를 요청할 때 캐싱 옵션 통일화
0
78
2
라우트 세그먼트 옵션 강좌 노트에 사소한 제보 남깁니다.
0
76
2
SSR시 context에 params말고 query를 사용하면 안되나요?
0
90
2
npx prisma db push 시 에러가 뜹니다.
0
107
3
vercel 배포를 실패하였습니다.
0
119
3
Image 컴포넌트 사용시 브라우저 콘솔에 경고는 왜 뜨는걸까요?
0
73
2
getServerSideProps 함수와 SSR의 관계
0
87
6
없는 페이지인데 풀라우트캐시로 저장이 되는 이유가 궁금합니다
0
70
2
실제 프로젝트에서 SSR 사용에 관해서 질문드립니다.
0
123
2
일반적인 nextjs project architecture에 대하여..
0
97
2
2.14 Search에서 작성한건 static이긴하지만 CSR이 아닌가요?
0
82
2
배포 시 오류 발생
0
97
2
백엔드 서버 오류납니다.
0
95
2
취약점 제거시 nestjs 버전 문제가 생길까요?
0
102
1
eslint.config.mjs 내 rules 어떻게 설정 하나요?
0
113
1
[book]/[id]/page.tsx 모달 띄울 때 성능 하락 현상은 ReviewList를 불러오면서 발생하는 문제 같습니다.
0
69
2
빨간줄 설정
0
87
2
익스텐션 질문
0
64
1





