React / Next.js

Error Boundaries & 에러 핸들링

Error boundaries, componentDidCatch, 에러 폴백, 에러 복구, 로깅 전략

18 면접 질문·
Senior
1

React에서 Error Boundary란 무엇인가요?

답변

Error Boundary는 자식 컴포넌트 트리에서 발생하는 JavaScript 에러를 잡아내고, 폴백 UI를 표시하며, 전체 애플리케이션의 크래시를 방지하는 React 클래스 컴포넌트입니다. componentDidCatch()와 getDerivedStateFromError() 메서드를 사용하여 렌더링 에러를 가로채고 처리합니다.

2

React에서 기존의 try/catch 대신 Error Boundaries를 사용하는 이유는?

답변

try/catch 블록은 React 컴포넌트 렌더링 중에 발생하는 에러를 잡을 수 없습니다. 이러한 에러들은 트리를 통해 비동기적으로 전파되기 때문입니다. Error Boundaries는 자식 컴포넌트의 렌더링 에러, 라이프사이클 에러, 생성자 에러를 인터셉트하기 위해 특별히 설계되었으며, try/catch는 동기식 명령형 코드에서만 작동합니다.

3

Error Boundary에서 에러를 캡처하는 라이프사이클 메서드는 무엇인가요?

답변

componentDidCatch(error, info)는 Error Boundary가 에러를 잡은 후에 호출되는 라이프사이클 메서드입니다. 에러와 componentStack이 포함된 info 객체를 받아 에러 로깅이나 사이드 이펙트 액션을 수행할 수 있습니다. getDerivedStateFromError()도 사용되지만, state 업데이트와 폴백 UI 표시를 위한 것입니다.

4

Error Boundary에서 getDerivedStateFromError()의 역할은 무엇인가요?

5

getDerivedStateFromError()와 componentDidCatch()의 차이점은 무엇인가요?

+15 면접 질문

다음 면접을 위해 React / Next.js을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기