Redux-saga,处理这种关闭模式流程的最佳方式

问题描述:

想象一下打开了一个模式/对话框。在那个模式中,有一个保存按钮,用于分派由redux-saga获取的updateUser动作。然后再做网络通话。如果此网络通话成功,模式应自动关闭。用redux-saga做这件事的最佳方式是什么?Redux-saga,处理这种关闭模式流程的最佳方式

在redux thunk中,我们将调度动作(promise),然后我们可以在网络调用成功时链接一个处理模式关闭的'then',就在组件中。所以我和一位同事想知道,用redux-saga做这件事最好的办法是什么?

+0

什么触发模式显示在第一位?它是应用程序/商店状态的数据吗? – chautelly

+0

用户通过单击按钮打开模式。这可以在商店中完成,也可以在本地完成。我们想知道什么是最佳的,没有REDX传奇,我们会保留在当地州的isModalOpen。现在看起来我们必须以某种方式将模式链接到我们的redux商店。 –

+0

我会将'isModelOpen'移动到应用程序状态。如果组件外的任何东西需要访问该信息,请将其向上移动。 – chautelly

我对此采取:

  • 假设模态的所有者保留打开/关闭状态的本地状态
  • 让我们也假设,在任何一种情况下(成功或失败)这涉及到一些全球状态(终极版)改变

现在流量:按钮点击

  • 消防行动,你的传奇d OES它的工作
  • 在模态的所有者组件
  • “订阅”被你的传奇,在全球国家中所做的更改(在connect小号mapStateToProps这块状态的连接到您的道具太)在情态动词所有者组件的componentWillReceiveProps在模式打开的情况下观察这些变化,并相应地更新本地打开/关闭状态