The Virtual DOM is a JavaScript representation of the actual DOM (Document Object Model). It's a programming concept where a "virtual" representation of the UI is kept in memory and synced with the "real" DOM.
How it works:
When state changes occur, React creates a new virtual DOM tree
React compares (diffs) the new virtual DOM tree with the previous virtual DOM tree
React calculates the minimum changes needed to update the real DOM
React applies only these necessary changes to the real DOM
This process is called reconciliation and makes React applications faster because manipulating the virtual DOM is much faster than manipulating the real DOM.
Rewriting in plainer words…
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.