ReactJS表单数据不正确

时间:2018-10-07 15:31:39

标签: reactjs

Noob在这里,我有一个表单,可以在传递道具时正确显示数据。检查,工作正常。我希望“编辑”按钮能够(临时)通过更改提醒数据。最后,数据将被保存。保存数据不是问题。

当我第一次单击“编辑”按钮时,我得到一个空数组。我再次单击,并获得所做更改的正确数据...

我只是有点卡住...谢谢!

不能粘贴代码,所以这是一个链接

Code for SingleBook.js

1 个答案:

答案 0 :(得分:1)

问题是setState有点异步,您没有等待它。检出docs

  

setState()并不总是立即更新组件。它可能会批量更新或将更新推迟到以后。

但是可以提供回调:

setState(updater[, callback])

将您的代码更改为类似的代码(未经测试的代码):

setBookState = (e, item) => {
  e.preventDefault();
  this.setState({
    title: item.title,
    author: '',
    subject:'',
    descriptionOrsummary: '',
    errors: {},
    ...item
  }, () => {
    alert(JSON.stringify(this.state))
    console.log(this.state)
  })