As far as I understand you can use these frameworks to write SPAs as well. I have no idea how well supported that use case is in the end. I find the idea that you want to handle data fetching and routing in a framework to be reasonably convincing. There are advantages here, and it's easy to get into a bit of a mess if you just fetch data in each component. The part that has stopped me from looking at the frameworks u…
Basically if you do a static export from next.js and ignore routing, you get a react SPA. You can do the same in Gatsby, but it's probably a waste of time. But... With an index.html file containing a createRoot(document.getElementById('root')).render( ) call, and parcel or vite or webpack, you can produce much the same thing. Possible that next.js will give you easier access to some more interesting ways to split you…
https://nextjs.org/docs/advanced-features/static-html-export