Skip to content

[v4] Bug: React 17, React is not defined after ejecting #9953

Open
@alpeer

Description

@alpeer

React version: 17.0.1

Steps To Reproduce

  1. npx create-react-app my-app
  2. cd my-app
  3. npm start (Works like a charm)
  4. npm run eject
  5. npm i
  6. 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

kachkaev commented on Oct 29, 2020

@kachkaev

I guess that this issue should be moved to https://github.com/facebook/create-react-app

transferred this issue fromfacebook/reacton Oct 29, 2020
changed the title [-]Bug: React 17, React is not defined[/-] [+][v4] Bug: React 17, React is not defined[/+] on Oct 29, 2020
changed the title [-][v4] Bug: React 17, React is not defined[/-] [+][v4] Bug: React 17, React is not defined after ejecting[/+] on Oct 29, 2020
alpeer

alpeer commented on Oct 29, 2020

@alpeer
Author

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

mordechaim commented on Oct 29, 2020

@mordechaim

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

n3tr commented on Nov 1, 2020

@n3tr
Contributor

@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

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Participants

      @n3tr@kachkaev@gaearon@mordechaim@alpeer

      Issue actions

        [v4] Bug: React 17, React is not defined after ejecting · Issue #9953 · facebook/create-react-app