提交更新现有值的表单时,我调度了一个redux操作创建者。
<Form onSubmit={onFormSubmit} destroyOnUnregister>
{({dirty, invalid, handleSubmit}) =>
...
<Button
onClick={handleSubmit}
disabled={invalid || !dirty}>
Save
</Button>
}
当在后端接收到表单值时,服务器将以更新后的数据进行响应,react-final-form会将其解释为提交错误(react-final-form的invalid
道具停留在{{1} },即使表单已成功提交)。 如何防止这种行为?
提交表单时,我一次只更新一个字段,即true
,但是服务器响应包含整个数据片段以更新redux存储。我收到的验证错误是:
name
请注意,"submitErrors": {
"data": {
"id": 1,
"name": "Company 1",
"country": "USA",
"city": "New York",
...
...
"createdAt": "2020-08-06",
"updatedAt": "2020-08-06",
"deletedAt": null
},
"type": "company/UPDATE_INFO_SUCCESS"
}
操作已触发。
我确实在文档中看到了有关表单提交的以下部分
3。与承诺异步 返回一个Promise <?Object>,如果成功,则不进行任何值的解析,如果失败,则使用提交错误的Object进行解析。解决错误的原因是在出现服务器或通信错误时拒绝处理。
但是这种行为是非常不可取的。