What REALLY happened is the shadow DOM. People decided it was too slow and created an intermediate representation. That then created all kinds of OTHER problems that started resulting in solutions that wouldn't have been necessary without the shadow DOM.
A shadow DOM is basically a cache, with all the problems that entails.
https://developer.mozilla.org/en-US/docs/Web/Web_Components/...
The term was popularized long before "web components" was a thing, and in fact, that's where they got the name.
There's a reason developers are constantly inventing ways to remove state from their code. Managing state is messy. Frameworks simply move it around.
Most react apps would be better off written in PHP, html, and progressively enhanced JS.
This is coming from a react developer. Most of what I do is bullshit work someone else invented for me.
But it pays well so ohwell.