diff --git a/src/components/ErrorBoundary.tsx b/src/components/ErrorBoundary.tsx new file mode 100644 index 0000000..a4e430f --- /dev/null +++ b/src/components/ErrorBoundary.tsx @@ -0,0 +1,23 @@ +import React from 'react'; + +interface State { hasError: boolean; message: string; } + +export class ErrorBoundary extends React.Component { + state: State = { hasError: false, message: '' }; + + static getDerivedStateFromError(err: Error): State { + return { hasError: true, message: err.message }; + } + + render() { + if (this.state.hasError) { + return ( +
+

Something went wrong

+
{this.state.message}
+
+ ); + } + return this.props.children; + } +}