Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A React Error Boundary catches certain errors thrown while React renders a descendant component and replaces that failed part of the interface with fallback UI. It is a containment layer for render failures—not a universal JavaScript try/catch. Knowing which failures it handles, and which require a different approach, is essential to making the fallback useful.

What a React Error Boundary does

An Error Boundary is a component that wraps part of a React tree. When a descendant throws an error during rendering, React can switch the boundary to a fallback state and render fallback UI instead of the failed subtree. This lets unaffected parts of the application remain available. See React’s Component reference.

Boundaries are useful around meaningful interface regions, such as a route or an optional widget. Placement is a design choice: contain a failure narrowly enough that the fallback is understandable, while leaving useful surrounding UI intact.

How to implement a class Error Boundary

React documents Error Boundary behavior through class component lifecycle methods. static getDerivedStateFromError updates state so the next render can show a fallback. The optional componentDidCatch method is where side effects such as reporting an error belong.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
class ErrorBoundary extends React.Component {
  state = { hasError: false };

  static getDerivedStateFromError(error) {
    // Update state so the next render shows the fallback UI.
    return { hasError: true };
  }

  componentDidCatch(error, info) {
    // Send the error and component-stack information to your logger.
    reportError(error, info.componentStack);
  }

  render() {
    if (this.state.hasError) {
      return <h2>This part of the page could not be displayed.</h2>;
    }

    return this.props.children;
  }
}

The static method should remain pure: derive state from the failure rather than performing logging or other side effects there. React’s current guidance favors getDerivedStateFromError for selecting fallback state; the older approach of calling setState in componentDidCatch for that purpose is deprecated. The error value is not guaranteed to be an Error instance. Component-stack details may also contain minified names in production, so reporting code should not assume they are human-readable.

What Error Boundaries catch—and what they do not

A boundary’s standard job is to contain errors thrown while React renders descendants. Several other failure paths are outside that scope, according to the React Component reference.

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
Failure or need Use this approach Why
Error during descendant rendering React Error Boundary It can replace the failed subtree with fallback UI.
Error in an event handler Local try/catch or operation-specific handling Boundaries do not catch event-handler errors.
Error in an ordinary asynchronous callback Handle or report it in that callback’s async flow Callbacks such as setTimeout and requestAnimationFrame are not normally caught by a boundary.
Error thrown inside a React 19 Action or the transition function returned by useTransition Use the Action or transition’s error path with a boundary fallback React documents this as an exception to the usual async-callback limitation.
Server-rendering error Use the server renderer or framework’s error handling Client Error Boundaries do not catch server-rendering errors.
Error in the boundary itself Allow an ancestor boundary to contain it, if one exists A boundary cannot catch its own failure.

React 19 Actions provide pending-state and optimistic-update support. React’s React 19 announcement also documents Error Boundary handling when an Action request fails, including reverting optimistic updates. This specific behavior does not make boundaries catch every error from an arbitrary asynchronous callback.

Why isn’t my Error Boundary catching this error?

Start by identifying where the error is thrown. A try/catch around JSX does not catch an error that occurs later when React renders that JSX. React’s error-boundaries ESLint guidance flags this pattern and recommends wrapping the child with an Error Boundary instead.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
  • The error occurs in an event handler: Handle it inside the handler or the operation it calls; a boundary will not intercept it.
  • The error occurs in a timer or animation callback: Handle or report it in that callback’s asynchronous flow. Ordinary callbacks are outside boundary capture.
  • The error happens while rendering a child: Check that the failing component is actually below the boundary in the rendered tree.
  • The boundary’s fallback or lifecycle code throws: The same boundary cannot contain that failure; an ancestor boundary may catch it.
  • The failure occurs on the server: Use server-rendering or framework error handling rather than expecting a client boundary to catch it.

React also notes that caught errors bubble differently by environment: in development they bubble to window, while in production they do not. In production, global handlers receive errors that were not explicitly caught by a boundary.

Function components and reusable boundary options

React’s current Component reference says there is no direct function-component equivalent for getDerivedStateFromError or componentDidCatch yet. A function component can still use an Error Boundary by rendering one around its children; the boundary itself must use the documented class lifecycle pattern unless you adopt a reusable abstraction.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

React points to the third-party react-error-boundary package as an alternative to writing the class component at each use site. It is not part of React itself. When choosing between a local class and a package, consider the conventions already used in your project, how you want fallbacks and resets to work, and who will maintain the abstraction.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Server rendering uses a different error path

A client Error Boundary does not catch server-side-rendering errors. For streaming server rendering, React documents server-side onError and client-side onRecoverableError callbacks in its renderToPipeableStream reference. The reference also describes how rendering can continue when errors occur inside Suspense boundaries. These server-rendering mechanisms address a different phase of rendering from a client boundary around already-running UI.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.