UNPKG

nice-ui

Version:

React design system, components, and utilities

31 lines (30 loc) 1 kB
"use strict"; 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, };