facebook/react · error · Error

react-dom/unstable_testing is not supported in React Server…

Error message

react-dom/unstable_testing is not supported in React Server Components.

What it means

react-dom/unstable_testing exposes internal act() test-support hooks for the DOM client renderer. Under the react-server condition it resolves to a throwing stub, because those hooks mutate client-renderer internals that do not exist in a Server Components bundle. The error surfaces at import time in any test file compiled with the RSC condition.

Solutions

  1. Split test helpers into client and server variants and import react-dom/unstable_testing only in client tests
  2. Scope the react-server bundler condition to the directories that actually contain server-component code
  3. Use the act() re-exported by your testing library (e.g. @testing-library/react) instead of reaching into unstable_testing
  4. Dynamic-import unstable_testing only when a DOM document exists

Example fix

// before (test-utils.js shared by all tests)
import {act} from 'react-dom/unstable_testing';

// after (test-utils.client.js — imported only by client tests)
import {act} from 'react-dom/unstable_testing';
export {act};
Defensive patterns

Strategy: try-catch

Validate before calling

// test-support hooks are DOM-only
const needsDom = typeof window !== 'undefined' && typeof document !== 'undefined';
if (needsDom) {
  const {act} = await import('react-dom/unstable_testing');
}

Try / catch

let actImpl: typeof import('react-dom/unstable_testing').act | null = null;
try {
  ({act: actImpl} = await import('react-dom/unstable_testing'));
} catch {
  actImpl = null; // RSC-compiled test bundle — use non-DOM assertions instead
}

Prevention

When it happens

Trigger: import {act} from 'react-dom/unstable_testing' in a test file that the bundler or Jest config compiles with the react-server condition, or a shared test-utils module (custom act wrapper) imported by both client and server-component tests.

Common situations: A test-utils helper imported from server-component tests; Jest moduleNameMapper or transform config applying react-server conditions globally; upgrading test helpers to support RSC test suites.

Related errors


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

Appendix: source

Thrown at packages/react-dom/npm/unstable_testing.react-server.js:3

'use strict';

throw new Error(
  'react-dom/unstable_testing is not supported in React Server Components.'
);

View on GitHub (pinned to eafeac097b)