All files / src/components ErrorBoundary.tsx

57.14% Statements 4/7
50% Branches 1/2
50% Functions 2/4
57.14% Lines 4/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 29 30 31 32 33 34 35 36                        15x 12x                         36x       36x          
import React from 'react';
 
interface ErrorBoundaryProps {
  children: React.ReactNode;
}
 
interface ErrorBoundaryState {
  hasError: boolean;
}
 
class ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundaryState> {
  constructor(props: ErrorBoundaryProps) {
    super(props);
    this.state = { hasError: false };
  }
 
  /* eslint-disable @typescript-eslint/no-unused-vars */
  static getDerivedStateFromError(_: Error): ErrorBoundaryState {
    return { hasError: true };
  }
 
  componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void {
    console.error('Error caught in ErrorBoundary:', error, errorInfo);
  }
 
  render(): React.ReactNode {
    Iif (this.state.hasError) {
      return null;
    }
 
    return this.props.children;
  }
}
 
export default ErrorBoundary;