반응형
새로운 토이프로젝트를 시작하면서 프로젝트를 만들었다
create-react-app을 이용해서 띄웠는데...
react-dom.development.js:86 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() 방식을 쓰지 않는다는 것!
이게 기존 코드였다면....
import ReactDOM from "react-dom";
import { BrowserRouter } from "react-router-dom";
import "./index.css";
import App from "./App";
ReactDOM.render(
<BrowserRouter>
<App />
</BrowserRouter>,
document.getElementById("root")
);
React 18 부터는 아래처럼 바꾸어야한다.
import { createRoot } from "react-dom/client";
import { BrowserRouter } from "react-router-dom";
import "./index.css";
import App from "./App";
const container = document.getElementById("root");
const root = createRoot(container);
root.render(
<BrowserRouter>
<App />
</BrowserRouter>
);
바꾸어주었더니 워닝 메시지가 사라졌다.
깔끔~
반응형
'프론트엔드 > 리액트 | React' 카테고리의 다른 글
리액트 하단바 만들기 - React Bottom Navigation (0) | 2022.04.13 |
---|---|
리액트 Font Awesome 아이콘 적용하기 (0) | 2022.04.12 |
리액트 무료 테마 (0) | 2022.04.12 |
리액트 라우터 사용하기 2 ( useParams, useRouteMatch, useHistory, useLocation) (0) | 2022.04.10 |
리액트에서 라우터 사용하기 (react-router-dom) (0) | 2022.04.10 |