@ima/react-page-renderer
Version:
IMA.js React page renderer.
43 lines (42 loc) • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "ErrorBoundary", {
enumerable: true,
get: function() {
return ErrorBoundary;
}
});
const _react = require("react");
class ErrorBoundary extends _react.PureComponent {
constructor(props){
super(props);
this.state = {
hasError: false
};
}
static getDerivedStateFromError() {
return {
hasError: true
};
}
componentDidMount() {
// Clear reported errors
if (typeof window !== 'undefined' && window?.__IMA_HMR?.emitter) {
window.__IMA_HMR.emitter.emit('clear');
}
}
componentDidCatch(error) {
// Report errors to overlay
if (typeof window !== 'undefined' && window?.__IMA_HMR?.emitter) {
window.__IMA_HMR.emitter.emit('error', {
error
});
}
}
render() {
return this.state.hasError ? null : this.props.children;
}
}
//# sourceMappingURL=ErrorBoundary.js.map