특정 컴포넌트 오류로 인하여 페이지 전체에 영향을 미치지 않기 에러 바운더리를 만들었습니다.
구현 부분
/* eslint-disable class-methods-use-this */
import React from "react";
class ErrorBoundary extends React.Component {
constructor(props) {
super(props);
this.state = {hasError: false};
}
static getDerivedStateFromError(error) {
return {hasError: true};
}
componentDidCatch(error, errorInfo) {}
render() {
if (this.state.hasError) {
return this.props.FallbackComponent;
}
return this.props.children;
}
}
export default ErrorBoundary;
호출 부분
<ErrorBoundary FallbackComponent={<></>}>
<Component></Component>
</ErrorBoundary>