[react] componentDidCatch 메서드의 역할은 무엇인가요?
이 메서드는 컴포넌트 생명 주기 메서드 중 하나로, 컴포넌트 내부에서 오류가 발생했을 때 호출됩니다. 이를 통해 애플리케이션이 예상치 못한 오류로부터 복구하거나 오류 상태를 처리할 수 있습니다.
componentDidCatch 메서드는 다음과 같은 방식으로 적용될 수 있습니다:
-
에러 경계 설정: componentDidCatch 메서드를 사용하여 특정 컴포넌트 내에서 발생한 오류를 처리하고 사용자 경험을 보호할 수 있습니다.
-
오류 처리: componentDidCatch를 사용하여 예외를 처리하고 사용자에게 오류 페이지를 보여줌으로써 애플리케이션의 안정성을 높일 수 있습니다.
예시 코드:
class ErrorBoundary extends React.Component {
constructor(props) {
super(props);
this.state = { hasError: false };
}
componentDidCatch(error, info) {
this.setState({ hasError: true });
// 에러 로깅 또는 기타 작업 수행
}
render() {
if (this.state.hasError) {
return <h1>앱에서 오류가 발생했습니다.</h1>;
}
return this.props.children;
}
}
<ErrorBoundary>
<MyComponent />
</ErrorBoundary>
위의 예시 코드에서 ErrorBoundary 클래스는 componentDidCatch를 사용하여 자식 컴포넌트에서 발생한 오류를 처리하고 적절한 대체 컨텐츠를 표시합니다. 그러면 애플리케이션은 사용자에게 안정적인 환경을 제공할 수 있습니다.