Не работает ReactDOM.createRoot();

Подскажите, пожалуйста, что тут не так:

import React from "react"
import ReactDOM  from 'react-dom/client'
import { createRoot } from 'react-dom/client'
import './index.css'
import App from './components/app/app'

const root = ReactDOM.createRoot(
    document.getElementById('root')
);
root.render(
    <React.StrictMode>
        <App/>
    </React.StrictMode>
);
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.2/css/bootstrap.min.css"/>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"/>
    <title>React App</title>
  </head>
  <body>
    <noscript>You need JavaScript</noscript>
    <div id="root"></div>
  </body>
</html>

Мне выдаёт такую ошибку, когда я навожу на createRoot:

'createRoot' is declared but its value is never read.ts(6133)
'createRoot' is defined but never used.eslintno-unused-vars
(alias) function createRoot(container: Element | DocumentFragment, options?: RootOptions): 
Root
import createRoot
Replaces ReactDOM.render when the .render method is called and enables Concurrent Mode.

@see — https://reactjs.org/docs/concurrent-mode-reference.html#createroot

На всякий случай скопирую package.json:

{
  "name": "new-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.16.5",
    "@testing-library/react": "^13.4.0",
    "@testing-library/user-event": "^13.5.0",
    "axios": "^1.3.5",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-icons": "^4.8.0",
    "react-scripts": "5.0.1",
    "web-vitals": "^2.1.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}


Ответы (1 шт):

Автор решения: Meth0d

уберите лишние импорты. используйте createRoot, а не ReactDOM.CreateRoot

import React from "react"
import { createRoot } from 'react-dom/client'
import './index.css'
import App from './components/app/app'

const root = createRoot(
    document.getElementById('root')
);
root.render(
    <React.StrictMode>
        <App/>
    </React.StrictMode>
);
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.2/css/bootstrap.min.css"/>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"/>
    <title>React App</title>
  </head>
  <body>
    <noscript>You need JavaScript</noscript>
    <div id="root"></div>
  </body>
</html>

→ Ссылка