31 lines
940 B
TypeScript
31 lines
940 B
TypeScript
import React from 'react';
|
||
const logger = require('../src/logger');
|
||
|
||
class ErrorBoundary extends React.Component {
|
||
constructor(props) {
|
||
super(props);
|
||
this.state = { hasError: false };
|
||
}
|
||
|
||
static getDerivedStateFromError(error) {
|
||
// Update state so the next render will show the fallback UI.
|
||
return { hasError: true };
|
||
}
|
||
|
||
componentDidCatch(error, info) {
|
||
// You can also log the error to an error reporting service
|
||
console.error(error, info);
|
||
logger.error(error, info);
|
||
}
|
||
|
||
render() {
|
||
if (this.state.hasError) {
|
||
// You can render any custom fallback UI
|
||
return <h1>Нещо се обърка при изтриването. Моля, опитай отново и се свържете с нас ако проблема продължи. </h1>;
|
||
}
|
||
|
||
return this.props.children;
|
||
}
|
||
}
|
||
|
||
export default ErrorBoundary; |