/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @flow */ import * as React from 'react'; import {Fragment} from 'react'; class ErrorBoundary extends React.Component { state: {hasError: boolean} = {hasError: false}; static getDerivedStateFromError(error: any): {hasError: boolean} { return {hasError: true}; } render(): any { const {hasError} = this.state; if (hasError) { return (
An error was thrown.
); } const {children} = this.props; return (
{children}
); } } // $FlowFixMe[missing-local-annot] function Component({label}) { return
{label}
; } export default function ErrorBoundaries(): React.Node { return (

Nested error boundaries demo

); }