ToolJet/frontend/src/Editor/ErrorBoundary.jsx
2021-12-30 17:27:02 +05:30

30 lines
753 B
JavaScript

import React, { Component } from 'react';
class ErrorBoundary extends Component {
constructor(props) {
super(props);
this.state = { hasError: false };
}
// eslint-disable-next-line no-unused-vars
static getDerivedStateFromError(error) {
// Update state so the next render will show the fallback UI.
return { hasError: true };
}
componentDidCatch(error, errorInfo) {
// You can also log the error to an error reporting service
console.log(error, errorInfo);
}
render() {
if (this.state.hasError) {
// You can render any custom fallback UI
return this.props.showFallback ? <h2>Something went wrong.</h2> : <div></div>;
}
return this.props.children;
}
}
export default ErrorBoundary;