#reactjs #react-redux
Вопрос:
Я настраиваю срез redux с некоторыми функциями, которые загружают страны. В функции loadCountries() получение состояния возвращает значение null, но если добавляется время ожидания, выводится правильное значение.
Есть какие-нибудь идеи относительно того, что здесь происходит?
const slice = createSlice({ name: "countries", initialState: { list: [], loading: false, lastFetch: null, }, reducers: { countriesRequested: (countries, action) =gt; { countries.loading = true; }, countriesReceived: (countries, action) =gt; { console.log("Countries Received"); countries.list = action.payload.result.items; countries.loading = false; countries.lastFetch = Date.now(); }, }, }); export const loadCountries = () =gt; (dispatch, getState) =gt; { const lastFetch = getState().entities.countries.lastFetch; //Prints null console.log("LastFetch Country", lastFetch); //Prints correct value setTimeout(() =gt; console.log(getState().entities.countries.lastFetch),1000); const diffInMinutes = moment().diff(moment(lastFetch), "minutes"); if (diffInMinutes lt; 10) return; dispatch( apiCallBegan({ url: countriesUrl "?languageId=" storageService.getLanguageId(), onStart: countriesRequested.type, onSuccess: countriesReceived.type, onError: countriesRequestFailed.type, }) ); };
Спасибо за вашу помощь! 🙂