Не работает 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>