const handleGetArticle = _id => async dispatch => { dispatch(fetchDetailRequest()); try { const { data } = await api.getArticle(_id); const normalizedData = normalize(data, article); dispatch(addArticles(normalizedData.entities.articles)); dispatch(addUsers(normalizedData.entities.users)); dispatch(fetchDetailSuccess()); } catch (error) { dispatch(fetchDetailFailure(error)); } }
const handleFetchFeed = () => async (dispatch, getState) => { const { feed } = getState(); if (feed.isFetching) { return; } dispatch(fetchFeedRequest()); try { const { data } = await api.getFeed(); const normalizedData = normalize(data, [article]); dispatch(addArticles(normalizedData.entities.articles)); dispatch(addUsers(normalizedData.entities.users)); dispatch(fetchFeedSuccess(normalizedData.result)); } catch (error) { console.log(error); dispatch(fetchFeedFailure(error)); } }