64 lines
2.5 KiB
JavaScript
64 lines
2.5 KiB
JavaScript
"use strict";
|
|
|
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.ErrorBoundary = void 0;
|
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
var _antd = require("antd");
|
|
var _react = _interopRequireDefault(require("react"));
|
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
var ErrorBoundary = exports.ErrorBoundary = /*#__PURE__*/function (_React$Component) {
|
|
(0, _inherits2.default)(ErrorBoundary, _React$Component);
|
|
var _super = (0, _createSuper2.default)(ErrorBoundary);
|
|
function ErrorBoundary() {
|
|
var _this;
|
|
(0, _classCallCheck2.default)(this, ErrorBoundary);
|
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
args[_key] = arguments[_key];
|
|
}
|
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
|
|
hasError: false,
|
|
errorInfo: ''
|
|
});
|
|
return _this;
|
|
}
|
|
(0, _createClass2.default)(ErrorBoundary, [{
|
|
key: "componentDidCatch",
|
|
value: function componentDidCatch(error, errorInfo) {
|
|
// You can also log the error to an error reporting service
|
|
// eslint-disable-next-line no-console
|
|
console.log(error, errorInfo);
|
|
}
|
|
}, {
|
|
key: "render",
|
|
value: function render() {
|
|
if (this.state.hasError) {
|
|
// You can render any custom fallback UI
|
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_antd.Result, {
|
|
status: "error",
|
|
title: "Something went wrong.",
|
|
extra: this.state.errorInfo
|
|
});
|
|
}
|
|
return this.props.children;
|
|
}
|
|
}], [{
|
|
key: "getDerivedStateFromError",
|
|
value: function getDerivedStateFromError(error) {
|
|
return {
|
|
hasError: true,
|
|
errorInfo: error.message
|
|
};
|
|
}
|
|
}]);
|
|
return ErrorBoundary;
|
|
}(_react.default.Component); |