От Redux
документации, я знаю, что мы никогда не должны мутировать состояние, поэтому мы должны использовать методы concat
и slice
, поэтому я получил следующий редуктор (большинство действий удалено для упрощения):Slice vs filter in redux удалить действие
export default function blocks(state = [], action) {
switch (action.type) {
case DELETE_BLOCK:
var index = state.findIndex(e => e.id === action.blockId);
return [...state.slice(0, index), ...state.slice(index + 1)];
default:
return state;
}
в моем случае я не имею индекс элемента Я хочу удалить, поэтому я могу использовать filter
? Как это:
export default function blocks(state = [], action) {
switch (action.type) {
case DELETE_BLOCK:
return state.filter(e => e.id !== action.blockId);
default:
return state;
}