@wordpress/block-editor
Version:
49 lines (47 loc) • 1.05 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _element = require("@wordpress/element");
var _reactNativeBridge = require("@wordpress/react-native-bridge");
/**
* WordPress dependencies
*/
class BlockCrashBoundary extends _element.Component {
constructor() {
super(...arguments);
this.state = {
error: null
};
}
static getDerivedStateFromError(error) {
return {
error
};
}
componentDidCatch(error) {
const {
blockName
} = this.props;
(0, _reactNativeBridge.logException)(error, {
context: {
component_stack: error.componentStack,
block_name: blockName
},
isHandled: true,
handledBy: 'Block-level Error Boundary'
});
}
render() {
const {
error
} = this.state;
if (!error) {
return this.props.children;
}
return this.props.fallback;
}
}
var _default = exports.default = BlockCrashBoundary;
//# sourceMappingURL=block-crash-boundary.native.js.map
;