ReactJS Tutorial

What is ReactJS DOM? How Does React DOM Work?

What is React DOM?

React offers developers with a package react-dom or ReactDOM to access and modify the DOM. Let’s first understand what DOM is.

What is DOM?

Document Object Model or DOM is a World Wide Web Consortium standard logical representation of a webpage. To explain it in simpler words, DOM is a tree-like structure consisting of all the elements. If you are looking for a language-neutral interface, DOM gives you access to and allows you to update the content of any webpage.

ReactDOM is a complete package that offers DOM-specific methods to manage DOM elements in an efficient manner. Before you use ReactDOM in any React web app, it is imperative to import ReactDOM from the react-dom package. You can use the following code for this:

import ReactDOM from 'react-dom'

What is React Virtual DOM?

Before React came into use, developers manipulated the DOM elements resulting in frequent DOM manipulation. This meant that the browser had to recalculate everything as per the CSS each time an update was made to the browser. This entire process was quite time-consuming. 

This is where the role of Virtual DOM in ReactJS comes in. You can consider it as a copy of the actual DOM representation stored in the memory. Virtual DOM is synced with the real DOM with the help of libraries like ReactDOM. The properties of Virtual DOM are the same as that of Real DOM. The only constraint is that it lacks the power to change the content of the screen directly.

How does Virtual DOM Work in ReactJS?

Whenever there is an update in the virtual DOM, React makes a comparison between the real and virtual DOM with a snapshot of the virtual DOM taken right before the update of the virtual DOM.

This comparison helps React figure out which UI components need to be updated. The entire process of updating is called diffing, and the algorithm that the diffing process uses is called the diffing algorithm.

Once React is aware of the components that have been updated, it replaces the original DOM nodes with the updated DOM nodes.

Test your knowledge with a quick quiz!

______ is synced with the real DOM with the help of libraries like ReactDOM.


Select the correct answer

Did you find this article helpful?