我有一个组件,我们称之为 List ,它调用一个 Action 创建者 Action1.getItems()
Action1.getItems() 从服务器检索信息后,我需要调用另一个 Action 创建者: Action2.getMoreItems() ,这是不同文件中完全不同的 Action 。

事实:

  • 两个 Action 创建者都分派(dispatch) Action 并更改存储。
  • 我不能在 Action2.getMoreItems()_onChange() 中调用 List 因为它会抛出一个错误“Cannot dispatch in the middle of a dispatch ...

  • 可能性?
  • 服务器返回
  • 后在Action2.getMoreItems()内部调用Action1.getItems()
  • 添加一个回调,以便我将拥有 Action1.getItems(callback) 并在该回调中从 Action2.getMoreItems() 组件调用 List

  • 我相信这可能是 Flux 的一个非常基本的使用,但我仍然无法理解如何正确使用它,这两种解决方案对我来说都很丑陋。

    建议?

    谢谢!

    最佳答案

    getMoreItems 是否依赖于 getItems 的返回值?如果是这样,您可以在 .thengetItems 回调中调用该操作。

    如果不是,那么您可以同时调用这两个调用,然后连接 promise 的结果。

    所以我的投票在你的问题中排名第二。我认为这根本不是一个丑陋的解决方案。您将获取物品和更多物品的责任委托(delegate)给您的行动。组件本身对此一无所知,只是发送了对这些项目的请求。它们的构建方式应该对组件透明。

    关于reactjs - react + 通量 : best practice for calling an action after another action?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38129293/

    10-11 12:16