在redux动作中传递一个promise接受函数是一种反模式,替代方案吗?

时间:2017-10-11 11:04:49

标签: javascript redux react-redux

我有时会有一个GUI组件,需要知道异步操作何时完成。基本上我发送一个动作,我想要一个在过程完成时产生的承诺。据我所知,该组件不能简单地从商店中侦听操作。或者可以吗?

我使用redux-saga,但我认为这是一个普遍的问题。

我现在这样做的方法是创建一个承诺并将接受/拒绝功能传递给动作 - 这样无论处理什么都可以解决我的承诺。然后我保留承诺并希望采取行动并调用方法。 (我不会将方法存储在状态中,只是在处理动作的传奇中。)

这看起来很脆弱,我想知道:当流程完成时,我的组件是否还有其他方式可以接收事件?我知道我可以使用状态来发送信号,但有时候这个小东西的脚手架似乎太多了。

修改

我遇到的一个案例是提交表格。 (sagas)中间件将首先运行验证,也可以是异步,然后将表单提交给服务器。虽然这种情况正在发生,但我不希望用户能够再次点击或编辑。这是承诺有助于确保的。与往常一样,当向某人写一个问题时,我意识到在这种特定情况下,redux状态标志会更好 - 虽然有些复杂。但是,我有更多这样的案例,所以我的问题就是。

0 个答案:

没有答案