Since you're asking about server-side rendering I'm guessing you are thinking of an architecture where the code that is run to render on the server is the same that is run on the client and therefore would make AJAX requests to a separate backend API (which may require cookies for authentication).
The simple answer is: decouple your data fetching layer from the view layer and write one "API client" for fetching over AJAX from the client and one for fetching from server to server (or even directly talking to the database if the rendering and API servers are the same).
In React you could do this by passing in the API client to the root of the component tree (like a Redux store).
Otherwise you can just keep the two API clients in different modules and swap out the require paths in your module bundler (this is trivial in browserify and webpack) so the browser version gets the AJAX code and the server version gets the other one.