ErrorBoundary 개선 : 에러 전달, 재시도, 그리고 AsyncBoundary까지
·
프로젝트
들어가며 기존에 사용하던 ErrorBoundary는 React 공식 문서를 참조하여 class 컴포넌트로 정의했습니다. 이때 fallback UI의 타입은 ReactNode로 선언했는데, 실제로 사용하다 보면 이 타입만으로는 해결하기 어려운 상황이 생기기 시작했습니다.특히 Next.js, TanStack Query, Suspense를 함께 사용하는 환경에서는 비동기 에러 처리의 책임을 ErrorBoundary에 위임하는 패턴이 자연스럽게 등장하는데, 이 시점부터 두 가지 한계가 드러납니다. 첫째, fallback UI에서 어떤 에러가 throw되었는지 알 수 없다는 것, 둘째, 에러가 발생한 후 동일한 요청을 재시도할 방법이 없다는 것입니다.이 글에서는 이 두 가지 문제를 어떻게 해결했는지 공유합니다. ..