请求redux中的响应模式

问题描述 投票:0回答:2

我想知道在Redux中处理请求/响应的正确方法是什么。

Our current setup is this :

  1. 组件显然连接到Redux并可以调度操作。
  2. saga侦听特定操作,并执行Web套接字请求。
  3. 一个不同的传奇监听传入的websocket消息,并使用传入的数据更新存储。(通过调度它自己的动作)

除了了解特定响应到达的确切时刻的特定用例外,这种方法效果很好。

这尤其成问题,因为一些请求不返回任何有意义的数据,它们只返回操作成功的状态。

We're currently discussing two solutions :

  1. 使用来自调度组件的动作发送回调,响应触发回调,这对redux感觉非常反模式。
  2. 在所有传出请求的存储中维护状态,允许调度组件为特定操作提供UUID,以便该组件可以查询存储以查看响应是否到达,还需要重置传入响应或维护组件中的状态,该特定响应已得到解决。无论如何,很多开销和潜在的错误。

通常的用例是在响应到达时打开弹出窗口。

reactjs redux react-redux redux-saga
2个回答
0
投票

我使用promise进行回调并在完成请求时链接所需的不同请求。 这篇Medium文章帮助了我。它涉及Think vs Saga vs Observable vs Redux promise中间件的实现。 还没试过saga。


0
投票

我认为你达到了需要更好的国家管理的程度。请记住,Redux是关于存储数据和数据流的。这不完全是关于国家管理。我建议阅读关于状态机的内容。我可以识别您的请求的不同状态,并且可以使用状态机轻松管理它们。这是关于http://krasimirtsonev.com/blog/article/managing-state-in-javascript-with-state-machines-stent主题的一篇文章

© www.soinside.com 2019 - 2024. All rights reserved.