Borislav Hadzhiev
Sat Mar 19 2022·2 min read
Photo by mix909
To solve the error "Module not found: Error: Can't resolve 'react-dom'", make
sure to install the react-dom
package by opening your terminal in your
project's root directory and running the command npm install react-dom react
and restart your development server.
Open your terminal in your project's root directory (where your package.json
file is located) and run the following commands:
# 👇️ with NPM npm install react-dom react # 👇️ ONLY If you use TypeScript npm install --save-dev @types/react-dom @types/react # ---------------------------------------------- # 👇️ with YARN yarn add react-dom react # 👇️ ONLY If you use TypeScript yarn add @types/react-dom @types/react --dev
The command will add the react-dom package to the dependencies of your project.
npm start
command.You should now be able to import and use the react-dom
package in your
React.js app.
import {StrictMode} from 'react'; import {createRoot} from 'react-dom/client'; import App from './App'; // 👇️ IMPORTANT: use correct ID of your root element // this is the ID of the div in your index.html file const rootElement = document.getElementById('root'); const root = createRoot(rootElement); root.render( <StrictMode> <App /> </StrictMode>, );
If the error is not resolved, try to delete your node_modules
and
package-lock.json
(not package.json
) files, re-run npm install
and restart
your IDE.
# 👇️ delete node_modules and package-lock.json rm -rf node_modules rm -f package-lock.json # 👇️ clean npm cache npm cache clean --force npm install
If you're still getting the "Module not found: Error: Can't resolve 'react-dom'"
error, open your package.json
file and make sure it contains the react-dom
package in the dependencies
object.
{ // ... rest "dependencies": { "react": "^18.0.0", "react-dom": "^18.0.0", }, // 👇️ Only if you use TypeScript "devDependencies": { "@types/react": "^17.0.43", "@types/react-dom": "^17.0.14", } }
The react-dom
module should NOT be globally installed or be in your project's
devDependencies
, it should be in the dependencies
object in your
package.json
file.
You can try to manually add the lines and re-run npm install
.
npm install
Or install the latest version of the package:
npm install react-dom@latest react@latest # 👇️ ONLY If you use TypeScript npm install --save-dev @types/react-dom@latest @types/react@latest