首页 > 解决方案 > 在反应中管理数组道具

问题描述

我有一个反应应用程序,我发现了一个错误,我正在过滤一个数组以搜索用户选择的当前项目,然后我将用它做一些事情......但是,不知道该过滤器函数返回对数组项目的引用,因此,我对所选项目所做的每一次更改都会对 prop 数组执行相同的操作。

const pippo = maledettoArray.filter(item => item.id === idInfame)[0];

如何过滤道具数组以获取特定项目而不更改它?

标签: javascriptreactjs

解决方案


You can use find method instead of filter which returns first match and exits the loop.

const pippo = maledettoArray.find(item => item.id === idInfame)

To create shallow copy of the object you can use Object.assign or spread syntax.

const clone = {...pipo}

If you want to create deep copy of the nested object then you could use Lodash _.cloneDeep(value) method.


推荐阅读