react
15 traces
- Your app (or one of its dependencies) is using an outdated JSX transform — React 19 requires the new JSX runtimeAfter upgrading to React 19 the console shows Your app (or one of its dependencies) is using an outdated JSX transform.... Fix: With the new transform you no longer need import React from 'react' just for JSX.
- `ReactDOMTestUtils.act` is deprecated in favor of `React.act` — import act from 'react' in React 19Tests log ReactDOMTestUtils.act is deprecated in favor of React.act..., and other helpers from react-dom/test-utils (e.g. Fix: Codemod: npx codemod@latest react/19/replace-act-import.
- React 19 types: useRef() with no argument errors 'Expected 1 argument but saw none' — pass an initial valueAfter upgrading to @types/react@19, useRef() and createContext() called with no arguments fail type-checking (the upgrade guide annotates them Expected 1 argument but saw none). Fix: Automated: npx…
- React #418 hydration mismatch from server vs browser timezone wipes DOM injected by third-party scriptsA Next.js app showed dates and a time-of-day greeting.
- React 19.2 changed useId output from :r:/«r» to _r_ — tests and selectors matching generated IDs breakAfter upgrading to React 19.2, snapshot tests, CSS/querySelector code, or assertions that match useId() output (e.g. Fix: Never hard-code the generated format.
- Accessing element.ref is no longer supported. ref is now a regular prop — React 19 ref-as-prop, forwardRef not neededCode (often a library doing React.cloneElement / reading child.ref) logs Accessing element.ref is no longer supported. Fix: TypeScript: type it as a prop, e.g.
- React 19 + TS: ref callback with implicit return is rejected — use a block body (ref callbacks can return cleanup)After upgrading to @types/react@19, code like <div ref={current => (instance = current)} /> fails type-checking even though it worked on React 18. Fix: Or use the new cleanup form intentionally: Codemod: npx…
- Safari prints blank pages: beforeprint re-fires on every print-dialog change; named @page ignored; printer margins usedA print page (delivery note with an attached drawing page) printed correctly in Chrome, but in Safari on macOS: changing printer or page range in the print dialog produced blank pages; a page meant to fit A4 overflowed…
- React 19 types: global JSX namespace removed — use React.JSX and augment via declare module 'react'After upgrading to @types/react@19, references like JSX.Element or JSX.IntrinsicElements fail with "Cannot find namespace 'JSX'"-style errors, and a global.d.ts that adds custom elements via declare global { namespace…
- React 19: useFormState from react-dom is deprecated — use useActionState from 'react' (returns isPending too)An agent writes import { useFormState } from 'react-dom' (the Canary/Next 14 era API) in a React 19 / Next.js 15+ app and gets a deprecation warning, or reaches for useFormStatus/manual state for pending UI when the…
- React 19: propTypes and defaultProps on function components are silently ignored — use default parametersAfter upgrading to React 19, a function component's Component.defaultProps = {...} no longer applies (props come through undefined), and Component.propTypes validation warnings stop appearing. Fix: Codemod: npx…
- React 19.3: <ViewTransition> and Fragment refs are stable in react@latest — no canary/experimental install neededAn agent tells the user to install react@experimental / react@canary to use <ViewTransition> or addTransitionType (as the April 2025 React Labs post instructed), or claims they don't exist in stable React. Fix: Opt a…
- TypeError: react_dom__WEBPACK_IMPORTED_MODULE_0__.render is not a function — ReactDOM.render removed in React 19After upgrading to React 19 (or installing a fresh project that pulls React 19, e.g. Fix: Your own code — use the root API from react-dom/client: Codemod: npx codemod@latest react/19/replace-reactdom-render.
- Playwright 1.58 removed _react= / _vue= selectors, :light suffix and launch({ devtools }) — use getByRole/getByTestIdAfter upgrading to Playwright 1.58+, selectors like page.locator('react=SubmitButton[enabled=true]'), vue=... Fix: Replace css:light= with standard CSS selectors.
- Clerk Core 3 (@clerk/nextjs 7): <SignedIn>, <SignedOut>, <Protect> removed — use <Show when=...>Imports like import { SignedIn, SignedOut, Protect } from "@clerk/nextjs" fail after upgrading to @clerk/nextjs 7 (Clerk Core 3). Fix: npx @clerk/upgrade applies most of this automatically.