я думаю, что это должно сработать (не проверял)
вам нужно создать копию массива, удалить элемент и затем присвоить новый массив состоянию
const initialState = {
pros: [''],
}
export const rootReducer = (state = initialState, action) => {
switch (action.type) {
case ACTION_ADD_PROS:
return {
...state.pros,
pros: [...state.pros, action.payload]
}
case ACTION_CHANGE_PROS:
return update(state, {
pros: {
[action.index]: {
$set: action.payload
}}
});
case ACTION_REMOVE_PROS:
// make a copy of the array
const newArr = state.pros
// remove item at index 4
newArr.splice(newArr.indexOf(action.payload), 1)
return update(state, {
pros: [...newArr]
})
//this is the old code that is incorrect
/* return update(state, {
pros: {
[action.index]: {
$set: newArr
}}
});/*
return x
default:
}
return state;
};
для получения дополнительной информации о array.splice ()
Помните: НИКОГДА НЕ РЕДАКТИРУЙТЕ СОСТОЯНИЕ ПРЯМО.состояние должно быть неизменнымне хочу редактировать копию массива, а затем просто назначить меньший массив