import React from "react";
type ErrorBoundaryProps = {
fallback: React.ReactNode;
children: React.ReactNode;
};
type ErrorBoundaryState = {
hasError: boolean;
};
export class ErrorBoundary extends React.Component<
ErrorBoundaryProps,
ErrorBoundaryState
> {
state = { hasError: false };
static getDerivedStateFromError(error: unknown) {
console.log(error);
return { hasError: true };
}
componentDidCatch(error: unknown, info: unknown) {
console.log("error", error);
console.log("info", info);
}
render() {
if (this.state.hasError) {
return this.props.fallback;
}
return this.props.children;
}
}