Я пытаюсь получить некоторые данные из API и установить данные в моем хранилище избыточности. Тем не менее, когда я пытаюсь выполнить какую-либо операцию с данными из хранилища избыточных данных, эта переменная становится пустой. Я использовал await, но, похоже, это не работает. Тем не менее, после использованияEffect данные хранилища избыточных данных (данные API) видны и могут выполнять над ними операции. Любая помощь приветствуется. Обратите внимание, что мне нужно получить доступ к полю хранилища резервов, а не просто получить возвращенные данные из функции . Доступ к полю избыточного хранилища важен. Вот мой код:
useEffect(() => {
async function loadData() {
const startingDateYear = moment();
const eventDates = generateDatesForYear(startingDateYear.year().toString());
await dispatch(fetchData('0009', eventDates[0], eventDates[1]));
}
loadData();
console.log(event.myDataArray) // event is a reducer and myDataArray is the field. It can be accessed outside the function with data incorporated but within useEffect I am not able to use the freshly fetched data.
return {};
}, []);
export const fetchData = (p1, p2, p3) => {
return async dispatch => {
const path = `dataFromAPIURL`;
try {
dispatch({
type: FETCH_STARTED,
});
const myDataArray = await RestService.get(path);
dispatch({
type: FETCH_FINISHED,
});
dispatch({
type: UPDATE_REDUCER_STATE,
payload: myDataArray,
});
return myDataArray;
} catch (error) {
// TODO: error handling
dispatch({ type: FETCH_ERROR, payload: error });
}
};
};