[英]Add new property to react state
I am trying to add a new property to the state "initialTags".我正在尝试向 state“initialTags”添加一个新属性。 However, I do not know how to do that.
但是,我不知道该怎么做。 I have tried to loop through the object to set the new property, however it didnt work.
我试图循环通过 object 来设置新属性,但是没有用。 Also, the setState it all in a same function, but since setState is async, I am unable to setState on the same state after my first setState statement.
此外,setState 全部在同一个 function 中,但由于 setState 是异步的,在我的第一个 setState 语句之后,我无法在同一个 state 上设置状态。
Initializing the state:初始化 state:
this.setState({ initialTags: [...tempTarget] }, () => console.log("initTags == ", this.state.initialTags));
Array of Object after setState: setState 后的 Object 数组:
[
{
"name": "AQS",
"projectId": "MTYzMDE1MzU3NjA3My10ZXN0MTA",
"projectName": null,
"isUserForAllProject": false
},
{
"name": "ED",
"projectId": null,
"projectName": null,
"isUserForAllProject": null
},
{
"name": "PAID",
"projectId": null,
"projectName": null,
"isUserForAllProject": null
},
{
"name": "QS",
"projectId": null,
"projectName": null,
"isUserForAllProject": null
}
]
The New property that needs to be added in the Object: Object中需要添加的New属性:
[
{
"name": "AQS",
"projectId": "MTYzMDE1MzU3NjA3My10ZXN0MTA",
"projectName": null,
"isUserForAllProject": false,
"return": []
},
{
"name": "ED",
"projectId": null,
"projectName": null,
"isUserForAllProject": null,
"return": []
},
{
"name": "PAID",
"projectId": null,
"projectName": null,
"isUserForAllProject": null,
"return": []
},
{
"name": "QS",
"projectId": null,
"projectName": null,
"isUserForAllProject": null,
"return": []
}
]
this.setState((prev) => {
return {
...prev,
initialValues: prev.initialValues.map((item) => {
return {
...item,
returnValue: []
};
})
};
});
You shoudn't use return
as it is a keyword.你不应该使用
return
因为它是一个关键字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.