import React from 'react' type State = { hasError: boolean; error?: Error } export default class ErrorBoundary extends React.Component { constructor(props: React.PropsWithChildren) { super(props) this.state = { hasError: false } } static getDerivedStateFromError(error: Error) { return { hasError: true, error } } componentDidCatch(error: Error, info: unknown) { // send to remote logging if desired console.error('Uncaught error in component tree:', error, info) } render() { if (this.state.hasError) { return (

Something went wrong

{String(this.state.error)}
) } return this.props.children } }