【发布时间】:2017-07-30 14:08:32
【问题描述】:
我试图通过使用过滤器函数从“状态”中删除一个元素,该函数应该从“状态”数组中删除由“action.index”指定的索引处的元素。然而,它反而从“状态”数组中删除了最后一个元素,我似乎无法弄清楚它为什么这样做。
/reducer.js
import {
ADD_ITEM,
DELETE_ITEM,
} from './actions';
export default function addItems(state=[], action){
switch (action.type) {
case ADD_ITEM:
return [
...state,
action.item
]
case DELETE_ITEM:
return state.filter((_, i) => i !== action.index);
default:
return state
}
}
编辑
上面的代码工作正常,这是另一个文件中的问题,它从数组中删除了最后一个元素。
【问题讨论】:
-
您是否尝试过记录
action.index的值?也许由于某种原因这有错误的价值。 -
对我来说很好:jsfiddle.net/u9ma1c4p
标签: javascript arrays reactjs redux react-redux