Open
Description
React version: 17.0.1
Steps To Reproduce
- npx create-react-app my-app
- cd my-app
- npm start (Works like a charm)
- npm run eject
- npm i
- npm start (ReferenceError: React is not defined)
Link to code example: https://codesandbox.io/s/ecstatic-wood-ou6px
The current behavior
I upgraded react to 17 and removed "import React"s from my project files (except index.js where react mounted). But I got "ReferenceError: React is not defined" in those files.
To investigate the issue behind this, I created a new react app, the new JSX transformation was working. But when I eject, it throws the same errors.
So;
Without react-scripts, new JSX transformation doesn't working.
The expected behavior
Components should render without declaring React (import React from "react") if React is in scope.
Activity
kachkaev commentedon Oct 29, 2020
I guess that this issue should be moved to https://github.com/facebook/create-react-app
[-]Bug: React 17, React is not defined[/-][+][v4] Bug: React 17, React is not defined[/+][-][v4] Bug: React 17, React is not defined[/-][+][v4] Bug: React 17, React is not defined after ejecting[/+]alpeer commentedon Oct 29, 2020
This is not an issue about create-react-app.
I don't use create-react-app in the project I had problem with jsx-transformation.
I have just mention to show you example and give more idea about issue.
Thanks for replying quickly.
Happy coding :)
mordechaim commentedon Oct 29, 2020
I'm having this exact issue even without ejecting. I followed the migration guide, ran react-codemod, deleted node_modules.
The compiler says the code compiled successfully but getting the red screen in the browser.
n3tr commentedon Nov 1, 2020
@alpeer
Upgrade React 17 and remove
import React
statements won't work since React doesn't do any JSX transform, you need babel plugin for that (https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html#manual-babel-setup).the CRA ejection issue has been fixed in #9885 and needs to wait for the maintainer to publish a new version.
:)
28 remaining items