Reactjs 我可以在哪里临时存储React多步骤表单中的文件上载?

Reactjs 我可以在哪里临时存储React多步骤表单中的文件上载?,reactjs,forms,file-upload,session-storage,Reactjs,Forms,File Upload,Session Storage,因此,我有一个多步骤表单,它是根据用户的答案动态构建的。创建的表单可以有多个“文件上载”步骤 在概念验证中,我们使用会话存储来存储所有步骤中的所有数据。在最后一步,单击“提交”按钮时,所有数据都会发送到服务器。但是,sessionStorage有一个限制(如果我没有弄错的话,是5MB) 作为一种解决方案,每当用户完成“文件上传”步骤时,我就考虑将所有文件上传(使用axios或类似的工具)到服务器端。由于用户可以返回到表单的前面步骤,并可能删除一些已经发送到服务器的文件,因此我需要在服务器端创建一

因此,我有一个多步骤表单,它是根据用户的答案动态构建的。创建的表单可以有多个“文件上载”步骤

在概念验证中,我们使用
会话存储
来存储所有步骤中的所有数据。在最后一步,单击“提交”按钮时,所有数据都会发送到服务器。但是,
sessionStorage
有一个限制(如果我没有弄错的话,是5MB)

作为一种解决方案,每当用户完成“文件上传”步骤时,我就考虑将所有文件上传(使用
axios
或类似的工具)到服务器端。由于用户可以返回到表单的前面步骤,并可能删除一些已经发送到服务器的文件,因此我需要在服务器端创建一个删除逻辑,以便反映这些更改


我正在寻找保持当前行为的方法(一次将所有数据发送到服务器),但在web上找不到有用的链接。这可能吗?有人能给我一些建议吗?

将状态添加到包含所有表单步骤的父组件,然后将所有表单数据存储在本地状态。准备好提交后,请使用要提交的状态值


您可以将文件存储在react状态,就像其他表单输入一样。文件将是从event.target.files获得的变量

本地状态是否有某种大小限制?乍一看,我的猜测是,它有点类似于本地存储,这是一个有趣的问题。我的直觉反应是否定的,因为那是不切实际的。应用程序状态(无论是本地的还是通过状态管理库的)是在react应用程序中管理与系统的所有交互的方式。如果有一个大小限制,这将是一个巨大的限制。我敢肯定,如果您开始处理数量惊人的数据,您将遇到性能问题,但我怀疑实际的上限。再说一次,我不知道这里的确切答案,这是一个为更好地理解内部结构的人提出的问题,或者可能是一个关于浏览器存储容量的问题。只是澄清一下,如果刷新所有内容都消失,则本地状态是暂时的。我们还在山姆页面上,对吗?你要求了一个临时的等待空间。很抱歉耽搁了这么久,我错过了你的问题。是的,暂时的。作为免责声明,每当用户第一次发送文件时,我都会将文件上传到服务器。尽管如此,我还是搜索了一下,寻找当地州的限制,但什么也找不到。因此,我会接受你的答案,希望有人(也许是我)会在不久的将来确认你的答案!