繁体   English   中英

删除object时如何返回修改后的数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM