【发布时间】:2017-06-13 13:38:39
【问题描述】:
我正在编写一些应用程序,其中创建包含一些数据的项目。其中1个字段是members。它是项目成员的数组(数组内的对象)。我有一个项目更新功能,但是在我更新项目中的成员数据时出现问题。在我的服务器端,我总是收到旧数据。
方法女巫更新成员数组的状态。它找到需要的对象(应该更新的成员)并更新其数据
updateMember(data){
let objectIndex = this.state.members.filter((member,index) => {
if(data.id === member.id) return index;
return -1;
})
if(objectIndex !== -1){
let stateCopy = Object.assign({},this.state);
stateCopy.members[objectIndex] = data;
this.setState({
members: stateCopy.members
})
}
}
然后我通过单击按钮提交数据并将状态数据发送到某个操作,从而查询REST API。
在向服务器发送数据之前,我做了console.log() 以确保我发送的数据。我得到了
但是在request.body 内部的服务器上,我只收到来自成员数组的旧对象。我不知道为什么会这样。也许我做错了什么...寻求您的帮助和建议。
【问题讨论】:
-
你在哪里有 API 调用,是在 updateMember 函数本身还是其他函数
-
setState是异步的;您不能调用setState然后立即从状态读取而不等待至少一个事件循环滴答声。
标签: arrays json reactjs object