The frameworks are popular because you can build things incredibly quickly once you know the ins and outs of your framework of choice. The component-style design, the endpoint design, so much is just driven by the needs of web-based development and the framework creator’s preferred way of abstracting away some of the challenges.
In particular, HTML has a tree structure, which means that things that are semantically related on the page and update together are often miles away from each other in the tree.
And the page in the browser is part HTML, part CSS, part Javascript. Frameworks try to let the developer work in JS only and generate the rest.
And finally, much of the application's state is often kept in a backend, and access to it a asynchronous.
I think that's why Web development is so distinct from other UIs.
No other dev environment for building GUIs has react-like components.
What’s so special about the web that we keep creating frustrating frontend frameworks for?