| Server IP : 85.214.239.14 / Your IP : 216.73.216.27 Web Server : Apache/2.4.65 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 8.2.29 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /var/www/wordpress/wp-content/plugins/really-simple-ssl/settings/src/utils/ |
Upload File : |
import { Component } from '@wordpress/element';
import PropTypes from 'prop-types';
class ErrorBoundary extends Component {
constructor(props) {
super(props);
this.state = { hasError: false, error: null, errorInfo: null };
this.resetError = this.resetError.bind(this);
}
static getDerivedStateFromError(error) {
return { hasError: true };
}
componentDidCatch(error, errorInfo) {
this.setState({ error, errorInfo });
// You can also log the error to an error reporting service
console.log('ErrorBoundary', error, errorInfo);
}
resetError() {
this.setState({ hasError: false, error: null, errorInfo: null });
}
render() {
if (this.state.hasError) {
return (
<div>
<h1>Something went wrong.</h1>
{/* You can render any custom fallback UI */}
<p>{this.props.fallback}</p>
<button onClick={this.resetError}>Try Again</button>
</div>
);
}
return this.props.children;
}
}
ErrorBoundary.propTypes = {
children: PropTypes.node,
fallback: PropTypes.node,
};
export default ErrorBoundary;