如何在React中设置对象状态

时间:2020-06-10 12:49:25

标签: javascript reactjs

我有以下代码:

this.setState({user.name: 'Bob')

如果用户具有name属性,那么我将在知道{{1}}不起作用的情况下进行设置。

5 个答案:

答案 0 :(得分:0)

this.setState({ user: {...this.state.user, name: 'Bob'} });

答案 1 :(得分:0)

const copy = {...this.state.user}
copy.name = 'Bob'
this.setState({ user: copy })

如果您不想覆盖现有属性(例如说年龄),请这样做

const copy = {...this.state.user}
copy.name = 'Bob'
this.setState({ user: { ...user, name: copy } })

答案 2 :(得分:0)

您可以像这样使用spread operator

var median_computed = Result.reduceRegion({
  reducer: ee.Reducer.median(),
  geometry: aoi.geometry(),
  scale: 30,
  maxPixels: 1e9
  });

有关更多信息:

答案 3 :(得分:0)

用户本身可能是一个对象,因此您可以将用户的状态设置为对象

this.setState({ user: { name: "bob" }})

this.state = { 
user: {
    name: "bob"
    }
}

答案 4 :(得分:0)

如果您的状态包含一个对象,则可以使用javascript传播运算符更新嵌套状态的值。 其他用户参数不会受到影响。

this.setState({
...this.state,
  user: {
   ...this.state.user,
   name:'Bob'
  }
})