ReactDOM.render는 React 18에서 더 이상 지원되지 않습니다.
내 콘솔을 확인했을 때 찾을 것으로 예상하지 못한 오류가 표시되었습니다(적어도 내 생각에는).
오류가 발생하는 이유는 무엇입니까?
위의 오류는 React v18에서
React.render()
대신 React.createRoot
를 사용하여 애플리케이션의 루트를 렌더링할 때 표시됩니다. 유형(Typescript)을 사용하도록 애플리케이션을 부트스트랩했는지 여부에 따라 다릅니다.어떻게 고치는 지.
index.tsx
또는 index.js
파일에 다음 코드를 작성합니다.Import ReactDOM from 'react-dom/client'
index.js or index.tsx
파일의 구조를 변경하십시오. 그러나 이것은 Typescript 사용 여부에 따라 다릅니다. import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App'
import reportWebVitals from './reportWebVitals'
const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement)
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
)
reportWebVitals()
자세히 보면 어딘가에 createRoot가 있는 것을 볼 수 있습니다. 봤어? 😏 다음에도 주목해주세요 :)
React 팀은 다음을 지원하기 위해 createRoot로 변경합니다.
React 앱의 동시 모드.
Concurrent Mode is a set of new features that help React apps stay responsive and gracefully adjust to the user’s device capabilities and network speed.
concurrent mode에 대해 자세히 알아보기
import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App'
import reportWebVitals from './reportWebVitals'
const root = ReactDOM.createRoot(document.getElementById('root'))
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
)
reportWebVitals()
추가 정보.
새 파일 설정을 사용하는 경우
index.js
또는 index.tsx
파일을 설정하는 방법입니다.import React from 'react'
import ReactDOM from 'react-dom/client'
import './index.css'
import App from './App'
import reportWebVitals from './reportWebVitals'
import { BrowserRouter } from 'react-router-dom'
const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement)
root.render(
<React.StrictMode>
<BrowserRouter>
<App />
</BrowserRouter>
</React.StrictMode>
)
reportWebVitals()
내가 할 수있는 방식으로 당신을 도왔기를 바랍니다.
건배.
추신: 이것은 내가 쓴 첫 번째 기사입니다. 성장을 위해 🎉
Reference
이 문제에 관하여(ReactDOM.render는 React 18에서 더 이상 지원되지 않습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/morelmiles/reactdomrender-is-no-longer-supported-in-react-18-1kha텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)