Redux-saga,处理这种紧密模态流的最佳方式

时间:2017-11-25 13:08:12

标签: reactjs redux-saga

想象一下,有一个模态/对话框打开。在该模式中,有一个保存按钮,用于调度由redux-saga获取的updateUser操作。 redux-saga然后进行网络通话。如果此网络呼叫成功,则模态应自动关闭。使用redux-saga这样做的最佳方式是什么?

在redux thunk中,我们会发送动作(承诺)然后我们可以链接一个'然后'当网络调用成功时,处理模态关闭,就在组件中。所以我和一位同事都在想,用redux-saga做这件事的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

我接受它:

  • 让我们假设模态的所有者将打开/关闭状态保持为本地状态
  • 我们还假设在任何一种情况下(成功或失败)这涉及一些全局状态(redux)的变化

现在流程:

  • 按钮点击时触发操作,你的传奇做了它的工作
  • "订阅"你的传奇(在connect s mapStateToProps中将此状态附加到你的道具中)对全局状态所做的更改在模态的所有者组件中
  • 在模态所有者组件的componentWillReceiveProps中,在模态打开的情况下监视这些更改,并相应地更新本地打开/关闭状态