【问题标题】:How to make setState with nested object如何使用嵌套对象制作 setState
【发布时间】:2019-07-23 10:06:03
【问题描述】:

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

【问题讨论】:

标签: reactjs react-native setstate


【解决方案1】:

执行此操作的最简单方法是创建要更新的对象的克隆,然后根据需要使用 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});

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 2017-10-22
    • 2020-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    相关资源
    最近更新 更多