Пилю изоморфное/универсальное приложение. Не совсем пойму как правильно работать с данными.
В своем server.js, для того чтобы пропсы наполнялись данными перед рендером, я реализовал это:
routes.some(route => {
const match = matchPath(req.url, route);
if (match && typeof route.loadData === "function"){
promises.push(store.dispatch(route.loadData()));
}
return match
});
Promise.all(promises).then(() => {
// после того как получил все данные - делаю рендер
}
После того, как верстка с контентом отдается браузеру, срабатывает уже клиентский рендер компонентов. И вот на этом месте у меня загвоздка.
Когда компонент маунтится, он должен выполнять подгрузку данных с бекенд сервера. Но эта подгрузка уже была реализована на сервере буквально мгновение назад (при условии что переход к этому компоненту не был реализован через реакт-роутер, а посредством ctrl+r например).
Вопрос в следующем - как избежать повторых запросов к бекенду с клиента (если был запрос с фронтенд-сервера), и стоит ли?