facebook/react · error · Error

357

357

Error message

The current renderer does not support React Scopes. This error is likely caused by a bug in React. Please file an issue.

What it means

React Scopes are an experimental renderer-level API; renderers that don't implement them re-export ReactFiberConfigWithNoScopes, where prepareScopeUpdate and getInstanceFromScope are throwing shims. The reconciler calls these when completing/updating a Scope host instance, so this error means Scope machinery ran on a renderer without scope support.

Source

Thrown at packages/react-reconciler/src/ReactFiberConfigWithNoScopes.js:14

/**
 * 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
 */

// Renderers that don't support React Scopes
// can re-export everything from this module.

function shim(...args: any): empty {
  throw new Error(
    'The current renderer does not support React Scopes. ' +
      'This error is likely caused by a bug in React. ' +
      'Please file an issue.',
  );
}

// React Scopes (when unsupported)
export const prepareScopeUpdate = shim;
export const getInstanceFromScope = shim;

View on GitHub (pinned to eafeac097b)

Solutions

  1. Remove or gate Scope API usage to a renderer that implements scopes (react-dom).
  2. If you believe the call is spurious (no Scope in your tree), align react/react-dom/renderer versions and file an issue — the reconciler should not reach the shim without a Scope instance.
Defensive patterns

Strategy: try-catch

Try / catch

// Contain experimental-API failures rather than crash the app
componentDidCatch(err) {
  if (err.message.includes('does not support React Scopes')) {
    this.setState({disableExperimental: true}); // fall back to plain components
  }
}

Prevention

When it happens

Trigger: Using the experimental Scope API (unstable Scope components, or DevTools/test tooling that inspects scopes) with a renderer whose config re-exports NoScopes — anything other than the DOM renderer that implements them.

Common situations: Experimental React features or internal Meta tooling leaking into an app built on react-native or a custom renderer; forks built against a different reconciler.

Related errors


AI-assisted analysis of facebook/react@eafeac097b (2026-08-21). Data as JSON: /api/errors/40706d768c05f1e7. Report an issue: GitHub.