首页 > 解决方案 > 用类似的对象更新反应状态

问题描述

请注意,这是我的代码的一个非常简单的示例。我有一个状态:

this.state = {
  first: "",
  second: "",
  third: ""
}

我想像这样改变我的状态:

this.getAppData(localStorage.getItem("application_id")).then(res => this.setState( prevState => {
        ...prevState.state,
        res.data
}))

虽然 res.data 是:

{
first: "updatedValue1",
third: "updatedValue2"
}

标签: reactjsstate

解决方案


这就是答案,所有 res.data 键值现在都会覆盖匹配的状态值:

        this.getAppData(localStorage.getItem("application_id")).then(res =>
            this.setState({ ...this.state, ...res.data })
        );

推荐阅读