首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在React Native中设置状态不起作用

在React Native中设置状态不起作用
EN

Stack Overflow用户
提问于 2019-06-04 02:59:53
回答 1查看 124关注 0票数 0

我正在尝试将屏幕状态设置为一些值,之后需要将这些值发送到数据库。这些值来自表单,是正确的值。现在我有一个问题,setState函数似乎被忽略了……

我已经尝试过以下代码:

代码语言:javascript
复制
handleSubmit = () => {
    const value = this._form.getValue();

    console.log(value);

    this.setState({
        description: value.description,
        places_free: value.places_free
    })
    console.log(this.state);
}

控制台记录此外观,如下代码行所示:

代码语言:javascript
复制
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函数中设置变量,以查看它是否与结构有关,但结果相同:

代码语言:javascript
复制
handleSubmit = () => {
    const value = this._form.getValue();

    console.log(value);

    this.setState({
        description: "test",
        places_free: 1
    })
    console.log(this.state);
}

控制台日志:

代码语言:javascript
复制
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/",
}

我有点被卡住了,我希望有人能帮上忙

EN

回答 1

Stack Overflow用户

发布于 2019-06-04 03:14:25

由于setState是一个同步操作,因此您需要在setState操作内部进行控制台日志记录,因此请尝试执行以下操作:

代码语言:javascript
复制
this.setState({ description: "test", places_free: 1 }, () => console.log(this.state))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56433127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档