console/packages/web/docs/src/components/error-boundary.ts
2025-02-11 11:52:02 +01:00

27 lines
535 B
TypeScript

'use client';
import { Component } from 'react';
export class ErrorBoundary extends Component<{
fallback: React.ReactNode;
children: React.ReactNode;
}> {
state = { hasError: false };
static getDerivedStateFromError(error: Error) {
console.error(error);
return { hasError: true };
}
componentDidCatch(error: Error, info: { componentStack: string }) {
console.error(error, info);
}
render() {
if (this.state.hasError) {
return this.props.fallback;
}
return this.props.children;
}
}