Well, it really depends on what vision you have on the modern network, and what you are ready to do.
Do you prefer your users to wait while showing the bootloader while the data is loading asynchronously, or do you prefer your users to be busy for as long as you can?
Here are some articles to help you clear your mind and be aware of the various benefits that may arise when rendering on the server side, on the client side, which has several problems.
You can see this Twitter blog post saying that they improve the initial page load by 1/5 to what they had before, moving the rendering to the server:
https://blog.twitter.com/2012/improving-performance-on-twittercom
Another article, this time from airbnb, describing problems that may occur when rendering on the client side:
http://nerds.airbnb.com/isomorphic-javascript-future-web-apps/
There is another interesting article on client-side / server-side rendering, as a result of which we discuss when to use / not use server-side or client-side rendering, and why:
https://ponyfoo.com/articles/stop-breaking-the-web
And to finish, I can give you two more links that are more focused on responsiveness and describe how server-side rendering should be useful for your case:
https://www.terlici.com/2015/03/18/fast-react-loading-server-rendering.html
http://reactjsnews.com/isomorphic-javascript-with-react-node/
Now about what you SHOULD do, this is a question of what you need to do, in my opinion, but basically you can do it simultaneously (on the client side and on the server side) to get a better user interface.
This concept is called "isomorphic javascript", and today it is becoming increasingly popular.