Server side rendering (SSR) is one of the bigger reasons why I love React, because it gives you best of both worlds! SSR gives you a lot of advantages like:
Server side rendering can however become difficult to setup. For instance, if your components depend on asynchronous API calls, you have to create logic that takes care of the API calls before returning a response. You have to set an initial state based on these API calls, so somehow you have to pass that to the client. Then there's image requiring on the server. On the client Webpack takes care of this (assuming you'd be using Webpack), but on the server node will throw a syntax error when requiring images.
TLDR; It can be a pain to setup server side rendering, but it's definitely worth everything!
If you don't want to go through the trouble of having to setup server side rendering, then take a look at MERN, an amazing project by Hashnode itself, giving you server side rendering out of the box!