react-component / util

Common Utils For React Component
util.vercel.app
MIT License
621 stars 177 forks source link

"render" function throws "reactRender is not a function" with react 19-rc #550

Open AngeloTallarita opened 4 weeks ago

AngeloTallarita commented 4 weeks ago

Hi everyone, I'm currently working on a project testing the new release candidate version of react 19. I noticed that when calling the render function defined here it throws the error reactRender is not a function. It looks like createRoot is not found when used with react 19-RC and this leads to use the legacyRender that of course will not work. I suspect there's some problem related on how createRoot it's imported, here the official reference from react where it's imported from react-dom/client and not from react-dom. Thanks in advance for the support!

deathemperor commented 2 weeks ago

I can confirm the issue by patching react-dom/client and it works

diff --git a/es/React/render.js b/es/React/render.js
index 169f01b2998a21ba42fa7b7a397ee526ad2aacb4..62793f70ab5e9d9488800b8dd3a866c67a14a943 100644
--- a/es/React/render.js
+++ b/es/React/render.js
@@ -2,7 +2,7 @@ import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
 import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
 import _typeof from "@babel/runtime/helpers/esm/typeof";
 import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
-import * as ReactDOM from 'react-dom';
+import * as ReactDOM from 'react-dom/client';
 // Let compiler not to search module usage
 var fullClone = _objectSpread({}, ReactDOM);
 var version = fullClone.version,