Итак, у меня следующая проблема: у меня разные конечные точки API, которые возвращают список всех элементов и список избранных элементов. Теперь я помещаю их в магазин через действие / редуктор, но я хотел бы знать, как обновить список избранных элементов, как только я нажму на кнопку, которая должна добавить его в список.
Это мой Действие:
export function addItemToFavoritesAction(slug, type) {
return (dispatch, getState) => {
addItemToFavorites(getState, slug, type).then(response => {
dispatch({
type: ADD_FAV_ITEM_SUCCESS,
payload: response.favoriteItem
});
}).catch(err => {
dispatch({
type: ADD_FAV_ITEM_FAIL,
payload: err
});
});
};
}
Здесь ответ возвращает мне элемент, который я хотел бы добавить в существующий список избранных. В моем редукторе у меня есть:
// getting the favorites list
function getFavoritesSuccess(state, action) {
const favorites = [...action.payload];
return {
...state,
favorites: [...favorites]
};
}
function addFavoriteItemSuccess(state, action) {
const item = action.payload;
return {
...state,
item
};
}
Каков наилучший способ обновить список избранного в магазине после успешной публикации? Должен ли я сделать что-то подобное в моей функции addFavoriteItemSuccess
или что-то еще ...?
return {
...state,
favorites: [...item]
}