我在更新this.state中的对象时遇到问题。基本上我有一个带有多个滑块的表格。每次更改滑块时我想更新this.state.dreadModel对象,但是我似乎只能覆盖它。
这是我到目前为止所尝试的:
this.setState( update ( this.state.dreadModel, { dreadModel: { [name]: e.target.value } } ), function () {
console.log(this.state);
});
上面代码中出现的错误是“Uncaught ReferenceError:未定义更新”。
我觉得我非常接近,但我不能很好地理解语法。
哦,这是我使用的代码,每次更改滑块值时都会覆盖对象。
this.setState({ dreadModel: {[name]: e.target.value }}, function () {
console.log(this.state);
});
答案 0 :(得分:-1)
如果我需要更新嵌套对象,我通常会做的更像是:
var dreadModel = {...this.state.dreadModel, [name]: e.target.value };
//or, if no ES6:
//var dreadModel = Object.assign({}, this.state.dreadModel);
//dreadModel[name] = e.target.value;
this.setState({ dreadModel: dreadModel }, function () {
console.log(this.state);
});