CreateReactAppでReact 18のプロジェクトを作るとエラーがでる

9027 ワード

概要

CreateReactAppでReactのプロジェクトを作ってReactの勉強をしています。
CreateReactAppで自動生成されるコードの一部がどうやらReact 18に対応していないようです。

事象

$ npx create-react-app <project-name>
$ cd <project-name>
$ yarn start

browserからlocalhost:3000にアクセスすると以下のエラーがconsoleに出力される。

Warning: ReactDOM.render is no longer supported in React 18. Use createRoot instead. Until you switch to the new API, your app will behave as if it's running React 17. Learn more: https://reactjs.org/link/switch-to-createroot

生成されたコードの一部

src/index.js
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();

対処法

こちらのブログで触れられています。