хорошо, у меня есть этот редуктор, который имеет 2 действия: добавить элемент и удалить элемент.
Добавление элемента работает нормально, но проблема заключается в удалении элемента, когда я использую метод фильтра, он удалит все элементы с одинаковыми именами (дубликаты), но я хочу удалить только элемент, на который нажали.
Я пытался использовать метод сплайсинга, передавая индекс элемента в качестве полезной нагрузки вместо имени, создавая новый массив, такой же, как элементы корзины, и применяя метод сплайсинга к этому массиву, но проблема заключается в том, когда я назначаю новый массив элементам корзины, которые он меняет но не перерисовывает элементы!
надеюсь, кто-нибудь может помочь, спасибо!
import {ADD_ITEM,REMOVE_ITEM} from "./Actions-Type"
var initialState ={
baskeitems:[" Strawberry"," Blueberry","Blueberry","Blueberry","Strawberry"]
};
function Rootreducer (state=initialState,action){
if (action.type === ADD_ITEM) {
return Object.assign({}, state, {
baskeitems: state.baskeitems.concat(action.payload)
})
}
else{
if(action.type===REMOVE_ITEM){
return Object.assign({}, state, {
baskeitems: state.baskeitems.filter((item)=>{return(item!==action.payload)})
})
}
else{
return state;
}
}
}
export default Rootreducer;