{"record":{"id":"38b20e07554261af","repo":"facebook/react","slug":"525","errorCode":"525","errorMessage":"A React Element from an older version of React was rendered. This is not supported. It can happen if:\n- Multiple copies of the \"react\" package is used.\n- A library pre-bundled an old copy of \"react\" or \"react/jsx-runtime\".\n- A compiler tries to \"inline\" JSX instead of using the runtime.","messagePattern":"A React Element from an older version of React was rendered\\. This is not supported\\. It can happen if:\n- Multiple copies of the \"react\" package is used\\.\n- A library pre-bundled an old copy of \"react\" or \"react/jsx-runtime\"\\.\n- A compiler tries to \"inline\" JSX instead of using the runtime\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/react-reconciler/src/ReactChildFiber.js","lineNumber":303,"sourceCode":"  if (thenableState === null) {\n    thenableState = createThenableState();\n  }\n  return trackUsedThenable(thenableState, thenable, index, null);\n}\n\nfunction coerceRef(workInProgress: Fiber, element: ReactElement): void {\n  // TODO: This is a temporary, intermediate step. Now that enableRefAsProp is on,\n  // we should resolve the `ref` prop during the begin phase of the component\n  // it's attached to (HostComponent, ClassComponent, etc).\n  const refProp = element.props.ref;\n  // TODO: With enableRefAsProp now rolled out, we shouldn't use the `ref` field. We\n  // should always read the ref from the prop.\n  workInProgress.ref = refProp !== undefined ? refProp : null;\n}\n\nfunction throwOnInvalidObjectTypeImpl(returnFiber: Fiber, newChild: Object) {\n  if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE) {\n    throw new Error(\n      'A React Element from an older version of React was rendered. ' +\n        'This is not supported. It can happen if:\\n' +\n        '- Multiple copies of the \"react\" package is used.\\n' +\n        '- A library pre-bundled an old copy of \"react\" or \"react/jsx-runtime\".\\n' +\n        '- A compiler tries to \"inline\" JSX instead of using the runtime.',\n    );\n  }\n\n  // $FlowFixMe[method-unbinding]\n  const childString = Object.prototype.toString.call(newChild);\n\n  throw new Error(\n    `Objects are not valid as a React child (found: ${\n      childString === '[object Object]'\n        ? 'object with keys {' + Object.keys(newChild).join(', ') + '}'\n        : childString\n    }). ` +\n      'If you meant to render a collection of children, use an array ' +","sourceCodeStart":285,"sourceCodeEnd":321,"githubUrl":"https://github.com/facebook/react/blob/eafeac097ba51e1eab809c07102126bd5f8e5425/packages/react-reconciler/src/ReactChildFiber.js#L285-L321","documentation":"Error \"A React Element from an older version of React was rendered. This is not supported. It can happen if:\n- Multiple copies of the \"react\" package is used.\n- A library pre-bundled an old copy of \"react\" or \"react/jsx-runtime\".\n- A compiler tries to \"inline\" JSX instead of using the runtime.\" thrown in facebook/react.","triggerScenarios":"Thrown at packages/react-reconciler/src/ReactChildFiber.js:303 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"eafeac097ba51e1eab809c07102126bd5f8e5425","analyzedAt":"2026-08-21T22:01:08.818Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}