reactjs - 我可以为 react-final-form 字段设置异步 onChange 处理程序吗?如何从异步函数更新表单状态?
问题描述
我正在考虑采用react-final-form
构建一些我在我的网络应用程序上使用的管理表单。
我需要为应该能够执行以下操作的图像上传构建一个输入组件。
- 这是一个
<input type="file"/>
元素 - 应选择图像文件
- 该文件应上传到存储桶(ASYNC)
- 并且返回的 URL(来自上传)应该添加到表单上的字段值中
- 上传时也应该触发加载状态
例如:
1.初始字段状态
formState:
values: {
thumbnail: {
status: "IDLE"
src: ""
}
}
// OTHER FIELDS' VALUES
}
2. 上传时
formState:
values: {
thumbnail: {
status: "UPLOADING"
src: ""
}
}
// OTHER FIELDS' VALUES
}
3.上传后
formState:
values: {
thumbnail: {
status: "IDLE"
src: "THE_URL_RETURNED_FROM_THE_UPLOAD_API"
}
}
// OTHER FIELDS' VALUES
}
当然,我也会处理验证(图像最大尺寸等)和来自 API 的可能错误。但是这个简化版本很好地说明了我的要求。
PS:我目前正在使用我自己的自定义表单解决方案(它使用 Redux 状态,所以我redux-thunks
用来处理状态的异步更改)来执行此操作。
我想使用的主要原因react-final-form
是将表单状态移出我的 Redux 存储。
问题
是否有可能与反应最终形式有关?我将如何从该async
onChange
处理程序更新表单状态?
解决方案
推荐阅读
- networking - ICMP 源字段
- sql - Oracle - 如何使用 JSON 数据连接表?
- ms-access - 出错时退出多步访问 VBA 宏但继续调用宏的代码
- laravel - Lumen - 服务提供者 - 在单元测试期间重新绑定
- azure-container-instances - 成功前多个图像拉取错误
- ethereum - Remix IDE 不会运行我的文件并且不会给出编译错误
- r - 根据单个单元格值从 R 数据框中删除行
- python-3.x - 看门狗观察者不在容器中运行
- sql - 如何组合两个 COUNT 函数以获取显示两个 ID 在表中出现超过 5 次的查询
- c# - Json.NET:单个属性的不同 JSON 模式