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
새로 나온 리액트 18에서는 ReactDOM.render가 아니라, createRoot를 사용해야 한다는 것 같다.
리액트 공식문서를 참고하여, 다음과 같이 코드를 바꾸었다.
🍉 참고한 리액트 공식 문서 : https://ko.reactjs.org/docs/concurrent-mode-reference.html#createroot
/* before */
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')
);
reportWebVitals();
/* after */
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
const rootNode = document.getElementById('root');
ReactDOM.createRoot(rootNode).render(
<React.StrictMode>
<App />
</React.StrictMode>,
);
reportWebVitals();
ReactDOM의 import가 변경되었고, createRoot(rootNode)가 ReactDOM과 render 사이에 들어가게 되었다.
위와 같이 코드를 고치니, 에러 메세지가 없어졌다.