mirror of
https://github.com/clash-verge-rev/clash-verge-rev
synced 2025-05-05 08:33:43 +08:00
* chore: Upgrade to React 18 * runfix: Add children type to FC components * chore: Remove @types/react
24 lines
537 B
TypeScript
24 lines
537 B
TypeScript
import { ReactNode } from "react";
|
|
import { ErrorBoundary, FallbackProps } from "react-error-boundary";
|
|
|
|
function ErrorFallback({ error }: FallbackProps) {
|
|
return (
|
|
<div role="alert">
|
|
<p>Something went wrong:(</p>
|
|
<pre>{error.message}</pre>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
interface BaseErrorBoundaryProps {
|
|
children?: ReactNode;
|
|
}
|
|
|
|
export const BaseErrorBoundary: React.FC<BaseErrorBoundaryProps> = (props) => {
|
|
return (
|
|
<ErrorBoundary FallbackComponent={ErrorFallback}>
|
|
{props.children}
|
|
</ErrorBoundary>
|
|
);
|
|
};
|