Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ReferenceError: TextEncoder is not defined #1309

Open
m1is opened this issue Aug 19, 2022 · 7 comments
Open

ReferenceError: TextEncoder is not defined #1309

m1is opened this issue Aug 19, 2022 · 7 comments

Comments

@m1is
Copy link

m1is commented Aug 19, 2022

I created a ReactJS.NET project using the reactnet-webpack template, then upgraded it from React 16 to the latest v18. However when I try to run the out of the box example I get the following error:

ReferenceError: TextEncoder is not defined
at eval (:145:19) -> var textEncoder = new TextEncoder();
at eval (:7002:5)
at ./node_modules/react-dom/cjs/react-dom-server.browser.development.js (vendor.6d1c51ef.js:23:1)
at webpack_require (runtime.36e5d9f0.js:85:30)
at eval (:6:7)
at ./node_modules/react-dom/server.browser.js (vendor.6d1c51ef.js:59:1)
at webpack_require (runtime.36e5d9f0.js:85:30)
at eval (:6:74)
at eval (:47:30)
at ./Content/components/expose-components.js (main.ab0e9b20.js:35:1)
at webpack_require (runtime.36e5d9f0.js:85:30)
at checkDeferredModules (runtime.36e5d9f0.js:46:23)
at webpackJsonpCallback (runtime.36e5d9f0.js:33:19)
at vendor.6d1c51ef.js:1:53
at JavaScriptEngineSwitcher.V8.V8JsEngine.InnerExecute(String code, String documentName)
at JavaScriptEngineSwitcher.Core.JsEngineBase.Execute(String code, String documentName)
at React.JavaScriptEngineFactory.LoadUserScripts(IJsEngine engine)

How would I go about resolving this?

@ChristianGilmer
Copy link

try downgrading to react and react-dom 16.12.0

@LinusCenterstrom
Copy link

change the import of ReactDOMServer to be from either
"react-dom/cjs/react-dom-server-legacy.browser.development" or
"react-dom/cjs/react-dom-server-legacy.browser.production.min.js"
instead of reactdom/server

@m1is
Copy link
Author

m1is commented Aug 25, 2022

change the import of ReactDOMServer to be from either "react-dom/cjs/react-dom-server-legacy.browser.development" or "react-dom/cjs/react-dom-server-legacy.browser.production.min.js" instead of reactdom/server

I already abandoned this, just too many issues trying to get it to work with Material UI.

@sebastian-pierre
Copy link

Above solution with linking to the legacy files does not work for me. It keeps throwing the same error, and / or TextEncoder is not a constructor.

@dustinsoftware
Copy link
Member

dustinsoftware commented Sep 14, 2022 via email

@dineshpannu
Copy link

I added https://github.com/anonyco/FastestSmallestTextEncoderDecoder as a polyfill in my server webpack configuration and that seemed to have fixed it.

@LorenDorez
Copy link

This is due to change React v18 added. The only work around at this time would be to add a polyfill to your build scripts. I started a discussion about plans i have to bring this project up to better support React v18 but its going to require some major changes. #1343

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants