Я использую SSR с реагирующим маршрутизатором и Redux. Все работает правильно, кроме случаев, когда я открываю /
страницу, затем нажимаю <Link to="/sign" />
, страница и вижу изменения в /sign
. Затем, когда я нажимаю кнопку «Назад» в браузере (теперь я буду на /
), после этого нажимаю на <Link to="/sign" />
и меняются только URL, но это все. Компонент все тот же, что и для /
, но он должен быть /
.
На сервере я выгляжу так:
renderToString(
<Loadable.Capture report={m => modules.push(
<Provider store={store}>
<StaticRouter location={req.url} context={context}>
<Frontload isServer>
<Navigation />
</Frontload>
</StaticRouter>
</Provider>
</Loadable.Capture>
)
И мой Навигация компонент:
<Router history={createStore().history}>
<Switch>
{publicRoutes.map(
({ path, DefaultComponent, AuthComponent }) => (
<Route
path={path}
exact
render={() =>
authenticated ? (
<AuthComponent />
) : (
<DefaultComponent />
)
}
/>
)
)}
<Route render={() => <Redirect to="/" />} />
</Switch>
</Router>
createStore функция получения Redux store
и history
, созданная так: createMemoryHistory({initialEntries: [req.url]})
.