正确的模式以等待可重用组件中的调度?

时间:2019-11-07 16:59:24

标签: reactjs redux redux-thunk

让我们想象一下React / Redux应用程序中的以下组件:

  • 所有文件,其中列出了曾经发送过的所有文件,并始终显示在左侧面板中
  • 文件夹,其中包含文件列表和一个 FileUpload 组件,用于将文件追加到此文件夹。
  • 文件上传,可在平台上的任何位置使用,并可在同一页面上多次使用,并轻松上传新文件

什么是将 FileUpload 传输至:

的正确模式
  • 使用异步API(react-thunk)发送文件
  • 更新商店以触发 AllFiles 渲染
  • 警告“文件夹”组件上载了新文件

第一个猜测是尝试dispatch(uploadFile()).then(onFileUploaded)进入 FileUpload 组件。 文件夹将通过传递给 FileUpload 组件的“ onUploaded”回调来警告。然后,通过添加新的上传文件来更新其内部状态。

但是调度和承诺不能合并。

选项1:

文件夹 FileUpload 组件均不应使用存储来保留其数据。但是他们应该使用自己的内部状态。

然后,“ FileUpload”不应调度操作,而应简单地调用带有诺言的异步操作。

在这种情况下如何为 AllFiles 更新商店?许诺后在 FileUpload 组件中?

选项2:

所有组件都应以其状态进入商店。

然后,如何设计商店以在同一页面中启用 FileUpload 的多个实例?

0 个答案:

没有答案