React error recovery mechanisms

Source | Codesandbox | Deployed

React version: ?

ReactDOM.render

No retry. Immediately commit what the error boundary rendered (1x "ErrorBoundary caught" in console)

sync ReactDOMClient.createRoot().render()

Retry once with a sync render (2x "ErrorBoundary caught" in console)

concurrent ReactDOMClient.createRoot().render()

Retry once with a concurrent render (2x "ErrorBoundary caught" in console)

concurrent ReactDOMClient.createRoot().render() with a component that recovers during retry

Recover during retry. Notice how redbox is still triggered but no hint why the error didn't actually surface in the UI.