我想知道如果可能的话你是否能帮我解决这个问题。我正在尝试从 Redux 状态中删除一个项目。我已经传入了用户点击的项目的IDaction.data
进入减速机。
我想知道如何匹配action.data
使用 Redux 状态中的 ID 之一,然后从数组中删除该对象?我还想知道在删除单个对象后设置新状态的最佳方法是什么?
请看下面的代码:
export const commentList = (state, action) => {
switch (action.type) {
case 'ADD_COMMENT':
let newComment = { comment: action.data, id: +new Date };
return state.concat([newComment]);
case 'DELETE_COMMENT':
let commentId = action.data;
default:
return state || [];
}
}
只是过滤评论:
case 'DELETE_COMMENT':
const commentId = action.data;
return state.filter(comment => comment.id !== commentId);
这样你就不会改变原来的state
数组,但返回一个不包含具有 id 的元素的新数组commentId
.
更简洁地说:
case 'DELETE_COMMENT':
return state.filter(({ id }) => id !== action.data);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)