{t(
"An error occurred while rendering this component. If the error persists, please report it.",
)}
>
}
/>
);
};
interface ReportErrorProps {
children: React.ReactNode;
}
interface ReportErrorState {
hasError: boolean;
error: {
message: string;
stack: string;
};
info: {
componentStack: string;
};
}
export class ReportError extends React.Component<
ReportErrorProps,
ReportErrorState
> {
state = {
hasError: false,
error: { message: "", stack: "" },
info: { componentStack: "" },
};
static getDerivedStateFromError = () => {
return { hasError: true };
};
componentDidCatch = (error, info) => {
this.setState({ error, info });
};
static propTypes: {
children: PropTypes.Requireable