Redux-saga,处理这种关闭模式流程的最佳方式
问题描述:
想象一下打开了一个模式/对话框。在那个模式中,有一个保存按钮,用于分派由redux-saga获取的updateUser动作。然后再做网络通话。如果此网络通话成功,模式应自动关闭。用redux-saga做这件事的最佳方式是什么?Redux-saga,处理这种关闭模式流程的最佳方式
在redux thunk中,我们将调度动作(promise),然后我们可以在网络调用成功时链接一个处理模式关闭的'then',就在组件中。所以我和一位同事想知道,用redux-saga做这件事最好的办法是什么?
答
我对此采取:
- 假设模态的所有者保留打开/关闭状态的本地状态
- 让我们也假设,在任何一种情况下(成功或失败)这涉及到一些全球状态(终极版)改变
现在流量:按钮点击
- 消防行动,你的传奇d OES它的工作
- 在模态的所有者组件
- “订阅”被你的传奇,在全球国家中所做的更改(在
connect
小号mapStateToProps
这块状态的连接到您的道具太)在情态动词所有者组件的componentWillReceiveProps
在模式打开的情况下观察这些变化,并相应地更新本地打开/关闭状态
什么触发模式显示在第一位?它是应用程序/商店状态的数据吗? – chautelly
用户通过单击按钮打开模式。这可以在商店中完成,也可以在本地完成。我们想知道什么是最佳的,没有REDX传奇,我们会保留在当地州的isModalOpen。现在看起来我们必须以某种方式将模式链接到我们的redux商店。 –
我会将'isModelOpen'移动到应用程序状态。如果组件外的任何东西需要访问该信息,请将其向上移动。 – chautelly