작성
·
1.4K
0
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
이라는 콘솔에러가 계속 뜨길래 구글링을 하여
import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './layouts/App';
const rootElement = document.getElementById('root');
if (!rootElement) throw new Error('Failed to find the root element');
const root = ReactDOM.createRoot(rootElement);
root.render(
<React.StrictMode>
<App />
</React.StrictMode>,
);
로 코드를 바꿔서 실행하니 local이 성공적으로 켜지긴하지만
이렇게 어마어마한 에러가 출력됩니다
제가 어느부분의 코드를 잘못작성하여 이렇게 뜨는지 모르겟습니다 🤔
답변 2
0
강좌는 리액트 17버전인데 18버전 쓰셨습니다.
18버전 코드는 잘 하셨는데
client 안에 index.css가 있는 게 맞나요? 맞다면 웹팩 설정 제대로 하셨나요? 저는 css를 쓰지 않습니다.
아고 공식문서보는게 습관이 되지 않아서요 ㅠㅠ 진작 공식문서 보고 할껄 그랬어요
공식문서에 답이 있었는데 돌아돌아 갔네요 ㅠㅠ
import React from 'react';
import { createRoot } from 'react-dom/client';
import { BrowserRouter } from 'react-router-dom';
import App from './layouts/App';
const container = document.getElementById('app');
const root = createRoot(container!); // createRoot(container!) if you use TypeScript
root.render(
<BrowserRouter>
<App />
</BrowserRouter>,
);
이렇게 코드작성하니 오류도안뜨고 문제없이 잘 돌아갑니다 흑흑흑
에러메시지에 모든게 나와있습니다. 심지어 직접 코딩하신 에러잖아요. root element가 없다는데
#root가 존재하는게 맞나요?