mmm not quite.<p>Step 1 would be slow if it created it in a <i>real dom</i> but as it&#x27;s not (that&#x27;s why it&#x27;s called a &quot;Virtual DOM&quot;) and is in fact just an object representation of the dom it&#x27;s actually rather fast.<p>After all - it&#x27;s just an object tree, and that&#x27;s <i>quite fast</i> to parse.<p>The diff part is probably the slowest part in the React chain actually - because it actually has to compare to the other (virtual) representation of the DOM. Deep comparisons are just... well they&#x27;ll never be trivial.<p>But no, it&#x27;s really not extra thinking, it&#x27;s not error prone, and it&#x27;s basically due to it not really being what you&#x27;re describing it as.