我正在尝试将屏幕状态设置为一些值,之后需要将这些值发送到数据库。这些值来自表单,是正确的值。现在我有一个问题,setState函数似乎被忽略了……
我已经尝试过以下代码:
handleSubmit = () => {
const value = this._form.getValue();
console.log(value);
this.setState({
description: value.description,
places_free: value.places_free
})
console.log(this.state);
}
控制台记录此外观,如下代码行所示:
Struct {
"description": "Test description",
"phone": "09 353 90 50",
"places_free": 2,
"website": "http://www.oakgent.be/",
}
Object {
"description": "",
"latitude": 51.055979,
"longitude": 3.711001,
"name": "Oak Restaurant",
"phone": "09 353 90 50",
"places_free": null,
"website": "http://www.oakgent.be/",
}
我还尝试自己在setState函数中设置变量,以查看它是否与结构有关,但结果相同:
handleSubmit = () => {
const value = this._form.getValue();
console.log(value);
this.setState({
description: "test",
places_free: 1
})
console.log(this.state);
}
控制台日志:
Struct {
"description": "Test description",
"phone": "09 353 90 50",
"places_free": 2,
"website": "http://www.oakgent.be/",
}
Object {
"description": "",
"latitude": 51.055979,
"longitude": 3.711001,
"name": "Oak Restaurant",
"phone": "09 353 90 50",
"places_free": null,
"website": "http://www.oakgent.be/",
}
我有点被卡住了,我希望有人能帮上忙
发布于 2019-06-04 03:14:25
由于setState是一个同步操作,因此您需要在setState操作内部进行控制台日志记录,因此请尝试执行以下操作:
this.setState({ description: "test", places_free: 1 }, () => console.log(this.state))
https://stackoverflow.com/questions/56433127
复制相似问题