如何使用嵌套对象制作setState

时间:2019-07-23 10:06:03

标签: reactjs react-native setstate

如果有嵌套对象,如何使用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
}

1 个答案:

答案 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});

希望有帮助!