[英]How to return modified array when deleting object
我使用上下文 api 在 2 个组件之间分布了一个数组。
将对象添加到数组工作正常,但是从数组中删除 object 时,我似乎无法返回修改后的数组。 本质上它不会在 UI 中删除。
这是我的 onClickHandler 和沙箱的链接。
const onClickHandlerDelete = (user) => {
const itemToBeRemoved = user;
const array = favourites.splice(
favourites.findIndex((favourite) => favourite.id === itemToBeRemoved.id),
1
);
return array;
};
如果没有看到您的 UI 代码,很难说在点击时更新 UI 是否存在其他问题,但您当前的onClickHandlerDelete
似乎不正确。
根据条件从数组中删除一项或多项的最简单方法是使用filter
:
const onClickHandlerDelete = (user) =>
favourites.filter((fav) => fav.id !== user.id)
只是一个简短的片段,应该有助于演示实际的过滤 function:
const arr=[{id:4,name:"Fred"},{id:5,name:"Harry"},{id:6,name:"Herminony"}], user={id:5, name:"Kate"}; const remusr = (u) => arr.filter(e=>e.id.=u;id). console;log(remusr(user));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.