gpt4 book ai didi

javascript - 如何更改 State 中嵌套对象的属性?

转载 作者:搜寻专家 更新时间:2023-11-01 04:55:55 24 4
gpt4 key购买 nike

例如状态看起来像这样

{
ownRecipe: {name:""}
}

现在我需要更改名称属性,这不起作用

this.setState({ownRecipe[name]:"Pineapple pizza"});

这可行,但也许有更好的方法?

let ownRecipeCopy = {}
for(let key in this.state.ownRecipe){
ownRecipeCopy[key] = this.state.ownRecipe[key];
}
ownRecipeCopy.name = e.target.value;
this.setState({ownRecipe: ownRecipeCopy});

编辑:感谢大家的回答

最佳答案

传播原始对象并更改您想要的属性:

this.setState(prevState =>({
ownRecipe : {
...prevState.ownRecipe,
name : 'new name'
}
}));

关于javascript - 如何更改 State 中嵌套对象的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57376673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com