The Virtual DOM (VDOM) is a lightweight JavaScript object tree that describes what the UI should look like. It is a plain in-memory representation — not the real browser DOM. React uses it because directly manipulating the real DOM is slow, and doing it manually on every state change is error-prone.
How it works
When state changes, React doesn't immediately touch the page. Instead it:
