我有以下代码:
this.setState({user.name: 'Bob')
如果用户具有name属性,那么我将在知道{{1}}不起作用的情况下进行设置。
答案 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'
}
})