85

After upgrading to version 0.14.2, I see an error and recommendation to use ReactDOM.render() instead of React.render(), but whence do I import it?

When I don't import it and just running as it is, it shows it as undefined. Is it a built-in functionality or is it a 3rd party library?

Michael Scheper
  • 6,514
  • 7
  • 63
  • 76
Sergei Basharov
  • 51,276
  • 73
  • 200
  • 335

2 Answers2

130

With the new update, all the DOM stuff you do should be done with ReactDOM instead of React. It's a separate module.

Do npm install react-dom and then, if you're using ES6, you can do:

import ReactDOM from 'react-dom';

or if you're using ES5 you can just do:

var ReactDOM = require('react-dom');

and then you can use ReactDOM.render(), ReactDOM.findDOMNode(), etc in your code.

John Weisz
  • 30,137
  • 13
  • 89
  • 132
Saad
  • 49,729
  • 21
  • 73
  • 112
5

if you are using the latest version of react (v18 onwards), the react and react statement has been updated. Earlier (till v17.0.2 ) it was:

import React from 'react';
import ReactDOM from 'react-dom';

currently (since v18.0.0 ) it is:

import { React } from "react";
import { createRoot } from "react-dom/client";
Devesh
  • 603
  • 2
  • 11
shashank
  • 61
  • 1
  • 6