У меня есть Reducer, в который диспатчится action с добавлением объекта,
export const addFavoriteItem = (payload) => {
return {
type: ADD_FAVORITE_ITEM,
payload: payload
}
}
надо сделать добавление в избранные (условного поста) и потом отрисовать в вкладке избранное, сам объект приходит в таком формате
let data = {
title: props.title,
worksCount: props.worksCount,
partnersCount: props.partnersCount,
rate: props.rate,
image: props.image,
id: props.id
}
после его добавления, у избранных постов, должна быть возможность удалить их оттуда
export const deleteFavoriteItem = (payload) => ({ type: DELETE_FAVOROTE_ITEM, payload })
Я написал отдельную логику, которую вынес за пределы редьюсера, но данный подход не работает, поддскажите как эффективно удалить пост из массива?
let deleteElem = (arr, payload) => {
let items = arr
arr.map(el => {
if (el.id != payload.id) {
items = [
...items,
payload
]
}
})
return items
}
const favoritesReducer = (state = initialState, action) => {
switch (action.type) {
case DELETE_FAVOROTE_ITEM:
return {
...state,
favoriteItem: deleteElem(state.favoriteItems, action.payload)
}
default:
return state
}
}
Если не работает дай знать, потому что код ниже написал "вслепую"
const deleteElem = (arr, payload) => {
const newArray = arr.filter(item => {
if (item.id === payload.id) return false;
return item;
});
return newArray;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
У меня есть цикл по добавлению кнопок, при нажатии на кнопку, вызывается функция doActionRibb('color') которая меняет цвет элементовВсе прекрасно работало...
Я Пишу небольшое расширение для хрома, работающее с сайтом https://csmoney/ru/ Мне необходимо загрузить все элементы инвентаря пользователя, scroll...