React builds up its own “virtual DOM” which is a lightweight representation of the DOM optimized for React’s diffing algorithms and reconciliation process. Virtual DOM changes eventually propagate to the actual DOM at the end of the reconciliation process.