Максимум ваши компоненты при монтировании или по каким-либо другим событиям инициируют загрузку данных, но к роутингу это прямого отношения не имеет.
При SSR самая первая загрузка страницы идет уже отрендеренная с сервера, а вся последующая навигация через аякс, как и без SSR
import React from 'react';
const Main = () => <div>Main</div>;
export default Main;
import React from 'react';
const About = () => <div>About</div>;
export default About;
import React from 'react';
import { Link, Switch, Route } from 'react-router-dom';
import { Main, About } from 'pages';
const App = () => (
<div>
<div>
<Link to="/">Main</Link>
<Link to="/about">About</Link>
</div>
<Switch>
<Route exact path="/" component={Main} />
<Route exact path="/about" component={About} />
</Switch>
</div>
);
export default App;
import React from 'react';
import { renderToString } from 'react-dom/server';
import { StaticRouter } from 'react-router';
import App from './App';
const renderHTML = url => {
return renderToString(
<StaticRouter location={url}>
<App />
</StaticRouter>
);
};
export default renderHTML;
import React from 'react';
import { Router } from 'react-router-dom';
import { hydrate } from 'react-dom';
import App from './App';
hydrate(
<Router>
<App />
</Router>,
document.getElementById('root'),
);