Bad frameworks
and/or bad usage. Ie, a lot of frameworks don't have good/any serverside support. React does, fwiw.
From my perspective, a good React site is rendered on the server in most scenarios. Meaning the first page you get is pure html and 100% complete. The JS will load and link everything up, but it's nothing that you'll know. If you click a link before the js loads, it should point to a real url and give you full html again. When the js does finally load, json can be used to load new pages, modifying the content with react, etc.
This is also nice because web crawlers (all of them) get simple html, and if a user has JS turned off, they still a lot of your content, perhaps missing some of your UX.
I've implemented a couple content heavy sites like this and it's a nice UX. Performs just as you expect in most scenarios. The only complaint i think that could be valid, is that there is, indeed, a fair amount of JS, which on mobile devices is definitely worse off than if it were just static content.
This is my benchmark for frontend frameworks for the future. Can i compile it, efficiently, on the server before giving it to the user?