nice-ui
Version:
React design system, components, and utilities
31 lines (30 loc) • 1 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.ErrorBoundary = void 0;
const React = require("react");
const defaultRenderError = () => React.createElement("h1", null, "Something went wrong.");
class ErrorBoundary extends React.Component {
constructor() {
super(...arguments);
this.state = {};
}
static getDerivedStateFromError() {
return { hasError: true };
}
componentDidCatch(error, errorInfo) {
const message = this.props.name ? `[${this.props.name}] ${error.message}` : error.message;
console.error(message, error, errorInfo);
if (this.props.onError)
this.props.onError(error);
}
render() {
if (this.state.error && this.props.renderError) {
return this.props.renderError(this.state.error);
}
return this.props.children;
}
}
exports.ErrorBoundary = ErrorBoundary;
ErrorBoundary.defaultProps = {
renderError: defaultRenderError,
};
;