This take from Raymond Chen in 2007 nicely sums up a lot of my advice about programming:
If you have to ask about various operating system limits, you’re probably doing something wrong. If you’re nesting windows more than 50 levels deep or nesting menus more than 25 levels deep or creating a dialog box with more than 65535 controls, or nesting tree-view items more than 255 levels deep, then your user interface design is in serious need of rethought, because you just created a usability nightmare. [emph mine]
This isn't just UI. Look, there are places where you're hosting millions of users where a 2% increase in performance adds up to a lot of improvement, but, especially in web UIs, the time I see wasted on vague performance optimizations is a travesty.
First just get it to work reasonably well. Grand problems are usually orders of magnitude problems, not optimization issues. If you've created a UI that craters on the worst users' machines or is not quite quick enough to be as usable as you'd want, there's probably a paradigm shift/head rethread that would perfectly address it. That is, it's better to rethink the way you're doing what you're doing so that it actually fits the domain/problem than to throw chicken wire and duct tape at your current implementation so that it's just barely fast enough to perform in your most demanding use cases.
That make sense? If performance is an issue, we're likely doing it wrong.
(I'd also argue if you've got a React app and see bad performance, the answer probably isn't to add SSR and its overhead but is, in fact, another one of these paradigm shifts again. Does it all need to be live, editable data? Is there a better view that cuts down on data and better serves the user? Etc.)