如果有嵌套对象,如何使用setState。我有一个json列表,用于更新此状态。但是假设如果我只想在这种状态下更新“电话号码”字段,那我该怎么做。下面的代码给我错误
this.setState(prevState => ({
myData: {
...prevState.myData,
user: { ...prevState.myData.user, PhoneNumber: value }
}
}));
interface IData {
ID:number,
usage:string,
user:IUser
}
interface IUser{
name:string,
PhoneNumber:number
}
答案 0 :(得分:0)
最简单的方法是创建要更新的对象的克隆,然后根据需要使用javascript更新该克隆,然后使用该克隆对象设置状态。 像这样:
let clone = {...objectInStateToUpdate};
// Do operations on clone as desired
this.setState({objectInStateToUpdate: clone});
// or if you named the cloned same as your object
this.setState({clone});
希望有帮助!