Not GP but if I were to start a project today that needs an SPA I would go Vue rather than React 100%. Or if you want to be trendy, something like Solid or Svelte are also ok.
React is okay-ish when done in moderation but it becomes spaghetti too quickly when the team is not made of 10x ninja rockstars from space. It is particularly bad for startups, you either slow down with code reviews or pay the price. The main reason IMO is the reactivity mode. Too many footguns to watch out for.
Plus, the quality of third-party React packages is abysmal. What a terrible ecosystem. Using as few dependencies as possible makes it better, but it's hard to push back on larger teams.
In the end it's all about opinion of course but after 10 years going back and forth between both (hey I'm trying to stay employable) that's my experience.
EDIT: But if I had to do SSR I would avoid Javascript period. Lots of backend languages are better for SSR.
Vue is quite different, as it uses proxies for reactivity and automates a lot for you… no need for dependency arrays or worrying about re-renders, for example.
I like React but it does put some burden on the developer to get it right. I find that even backend devs doing frontend super casually adapt quick and barely makes mistakes in Vue, but in React even experienced mid-level frontend devs can make a mess pretty quickly.
React is okay-ish when done in moderation but it becomes spaghetti too quickly when the team is not made of 10x ninja rockstars from space. It is particularly bad for startups, you either slow down with code reviews or pay the price. The main reason IMO is the reactivity mode. Too many footguns to watch out for.
Plus, the quality of third-party React packages is abysmal. What a terrible ecosystem. Using as few dependencies as possible makes it better, but it's hard to push back on larger teams.
In the end it's all about opinion of course but after 10 years going back and forth between both (hey I'm trying to stay employable) that's my experience.
EDIT: But if I had to do SSR I would avoid Javascript period. Lots of backend languages are better for SSR.