Redux - Стандартный способ кеширования без изменения ответов API - PullRequest
0 голосов
/ 04 апреля 2019

Много раз во время проектов реагирования / редукса я работаю с API, который предоставляет для некоторых конечных точек «статические данные ответа». В качестве примера мы можем рассмотреть список стран мира в соответствии с языковым стандартом пользователей. Они читаются после входа в систему и перечитываются после того, как пользователь меняет свой язык (не очень часто)

Мое текущее решение для этого см. В «псевдокоде» ниже

//this is a redux middleware that listens for login and app refreshed actions and fire alll needed calls
const sessionId = getSessionIdSelector(login);

if (action.type === LOGIN_ACTION || APP_REFRESHED_ACTION && sessionId) {
    if(notAlreadyLoaded){
           loadCountriesActionCreator(sessionId,language);
           loadAnotherDataActionCreator(sessionId);
           etc....
}
}

Я использую redux-persist на вершине redux, поэтому статические редукторы данных сохраняются до тех пор, пока кэш не очищен

Это работает, как ожидалось, и решает мою проблему, однако в действиях / редукторах / сагах много повторяющегося кода Мне интересно, есть ли другое, может быть, более элегантное решение / библиотека, которая решает эту проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...