Spaces:
Sleeping
Sleeping
File size: 727 Bytes
de63014 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
import React, { Component } from 'react';
export default class ErrorBoundary extends Component {
state = { hasError: false, error: null };
static getDerivedStateFromError(error) {
return { hasError: true, error };
}
componentDidCatch(error, errorInfo) {
console.error("Erreur dans le composant:", error, errorInfo);
if (this.props.onError) {
this.props.onError(error);
}
}
render() {
if (this.state.hasError) {
return this.props.fallback || (
<div className="p-4 bg-red-100 text-red-700">
<h3 className="font-bold">Une erreur est survenue</h3>
<p>{this.state.error.message}</p>
</div>
);
}
return this.props.children;
}
} |