When you write a gui, you want to think in a tree of component. Ie React.
If you want to print, you think in document (html, …). That’s also a tree by the way.
Html does not have any composability. They try hard to inject that in it (web component, jquery plugin, …)
React (ie virtual dom) is a beauty in this regard and if you don’t use it, you would have a hard time creating any gui with a certain level of difficulty.