React 18 - ReactDOM.render & createRoot
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사용시 npm start시 console에러
- ❓리액트 공식 문서 :
https://ko.reactjs.org/docs/concurrent-mode-reference.html#createroot
리액트 공식문서를 참고하여 다음과 같이 코드를 변경
/* React17 */
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
/* React18 */
import React from "react";
import ReactDOM from "react-dom/client";
import "./index.css";
import App from "./App";
const rootNode = document.getElementById("root");
ReactDOM.createRoot(rootNode).render(
<React.StrictMode>
<App />
</React.StrictMode>
);
- ReactDOM의 import가 변경되었고, createRoot(rootNode)가 ReactDOM과 render 사이
Author And Source
이 문제에 관하여(React 18 - ReactDOM.render & createRoot), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@lsc90726/React-18-ReactDOM.render-createRoot저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)