【发布时间】:2017-11-12 14:03:04
【问题描述】:
请原谅我的菜鸟问题,我是 react 新手。
我有多个组件,其中一些组件会定期调用 Api 以使列表保持最新。
在 Angular 中,我可以使用 requestAnimationFrame 创建一个服务以间隔广播事件,并在这些事件中进行 Api 调用。这是个好主意,因为:
- 我们不会在许多组件中创建很多间隔,保持干燥。
- 我们正在降低非破坏区间的风险。
- 当应用程序不在活动选项卡中时,我们会保存 Api 调用。
- 我们可以在单个服务中控制 Api 调用的速率。
还有其他一些优点。
在像this 这样的许多情况下,我读到这不是在 react/redux 中做同样事情的好方法,我们最好尝试将动作调度保持在最低限度。但如果我在每个组件中创建一个间隔,它就不再是 DRY 了。
我的问题是我应该选择其中一种方法还是有其他方法?
【问题讨论】:
-
后续的每一个请求都需要取消之前的请求吗?
-
@jamesemanon 我在一个组件上调用一个端点,每 10 秒调用一次。几乎没有。
-
您链接的答案几乎是我将如何处理它。动作调度在 Redux 中非常便宜,可以根据需要随时触发它们(性能捕获是存储更新,但在这里不是问题)。将特定计时器保存在可管理的组件中,使开发人员非常容易跟踪计时器的生命周期。