以下エラーの解決法をまとめました。
Failed to compile
src\App.js
Line 6:5: 'React' must be in scope when using JSX react/react-in-jsx-scope
Line 7:7: 'React' must be in scope when using JSX react/react-in-jsx-scope
Line 8:9: 'React' must be in scope when using JSX react/react-in-jsx-scope
Line 9:9: 'React' must be in scope when using JSX react/react-in-jsx-scope
Line 10:16: 'React' must be in scope when using JSX react/react-in-jsx-scope
Line 12:9: 'React' must be in scope when using JSX react/react-in-jsx-scope
Search for the keywords to learn more about each error.
This error occurred during the build time and cannot be dismissed.
発生状況
以下コマンドを実行してサーバー起動
$ npm start
何をいじったことによるエラーなのかがわからず、、、
一旦、普通にnpx create-react-appで立ち上げて、比べてみることに。
普通に立ち上げた方ではちゃんとReactの画面が表示された。
オリジナルのコードはこちら
import logo from './logo.svg';
import './App.css';
function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
export default App;
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();
解決策
App.jsでReactのimportが必要だった。ただそれだけ。
import React from 'react';
import logo from './logo.svg';
import './App.css';
function App() {
省略
コメント