我有一个处于状态的对象数组,其结构如下:
const arrayOfTests = [
{
id: 1,
name: "test1",
description: "test description"
},
{
id: 2,
name: "test2",
description: "test description"
},
{
id: 3,
name: "test3",
description: "test description"
}
]
假设我找到 id 为 3 的对象,如下所示:
let object3 = arrayOfTests.find((element) => {
return element.id === 3;
})
然后我像这样编辑它:
object3.description = "new description"
我有点困惑如何使用setState
用新的更新对象替换/编辑旧对象 3。
Use the map()
方法如下图。
在回调函数中,检查条件是否满足element.id === 3
是真的;如果是,则返回new目的。否则,返回当前的element
就这样。
let newState = arrayOfTests.map((element) => {
if (element.id === 3) {
return { ...element, description: "new description" };
}
return element;
});
传递返回的数组map()
状态设置器函数的方法。
this.setState({ state: newState });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)