redux-form - 表单提交后如何取消 react-final-form 验证?
问题描述
在提交更新现有值的表单时,我分派了一个 redux 操作创建者。
<Form onSubmit={onFormSubmit} destroyOnUnregister>
{({dirty, invalid, handleSubmit}) =>
...
<Button
onClick={handleSubmit}
disabled={invalid || !dirty}>
Save
</Button>
}
当后端收到表单值时,服务器以更新的数据进行响应,react-final-form 将其解释为提交错误(invalid
来自 react-final-form 的 prop 保持不变true
,即使表单已成功提交)。我怎样才能防止这种行为?
我一次只更新一个字段,即name
在提交表单时,但服务器响应包含整个数据片段以更新 redux 存储)。我得到的验证错误是:
"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"
}
请注意,该company/UPDATE_INFO_SUCCESS
操作已被触发。
我确实在有关表单提交的文档中看到了以下部分
3. 与 Promise 异步返回一个 Promise<?Object>,它在成功时解析为没有值,或者在失败时解析为提交错误的对象。它解决错误的原因是在出现服务器或通信错误时留下拒绝。
但这种行为是非常不可取的。
解决方案
推荐阅读
- swift - URLSessionConfiguration 背景,超时问题,在 Postman 中工作正常
- python - Python 文档字符串中作为抽象类名的参数的类型是什么?
- python - Select 语句中的 Pace Maker 不起作用
- c++ - 为 I2C 正确格式化数据 (Wire.write)
- mysql - 为什么这个 DELETE 查询给我一个语法错误?
- node.js - 我怎样才能在loopback4中加入两个表
- push-notification - 我们可以增加谷歌控制台项目中的主题和订阅数量吗?
- jakarta-ee - JavaEE:注入 @Alteriative 到 Insance
没有默认实现 - ruby-on-rails - 如何使用 rolify gem 显示与用户关联的角色名称?
- angular - map() 中的拼接函数只删除数组的一半