Для Sails существует модуль sails-hook-react-router. Он позволяет без особых проблем организовать server-side rendering приложения на React, для этого достаточно вызвать
clientRouter
метод из точки входа (entry point).
По ссылке можете увидеть пример (к сожаления для "голого" React-a - без Redux-a) -
https://github.com/teamfa/sails-hook-react-router
Но в случае использования redux в точке входа мы должны обернуть компонент
Router
в компонент
Provider
:
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { Router, browserHistory } from 'react-router';
import configureStore from './store/configureStore';
import getRoutes from './routes';
...
const AppContainer = (
<Provider store={store}>
<div>
<Router
history={browserHistory}
children={getRoutes()}
createElement={appComponent}
/>
</div>
</Provider>
);
ReactDOM.render(AppContainer, document.getElementById('app'));
И я не совсем понимаю, как совместить эти два требования к организации entry point для работы server-side rendering в приложении на Sails / React и Redux. Может быть у вас был такой опыт, или вы знаете, где можно посмотреть код приложения организованного таким образом?