RXJS Observables 和 Subjects 使用 redux 处理多源数据的良好实践

RXJS Observables and Subjects good practice with redux to process data with multiple sources

使用 redux 架构和 Observables,我在获取不同异步源后需要处理数据的情况下。

它应该是这样工作的:

  1. 顶级组件确保数据以正确的格式加载到商店中。
  2. 容器组件订阅了 4 个数据集,多亏了 combineLatest,我在收集每个和平时处理数据,

这似乎很有效,但我不太确定这是正确的做法。

在这种情况下,首选实施方式是什么?您将如何取消订阅服务 and/or 访问商店?您如何实例化您的可观察对象或主题?

我正在寻找任何最佳实践或模式。

你在使用 NgRx 吗?我假设是这样,因为这是实现 redux 模式的库。

我经常发现使用 NgRx 我不需要实现自己的 Subject/BehaviorSubject 而是构建选择器。

您可以构建一个组合所需数据集的选择器,以便组件可以简单地获取数据而无需了解商店的结构。

有了更多关于这个主题的经验,答案现在似乎很清楚:使用效果

由于 API 调用是副作用,您的效果可以安静地请求数据并等待 combineLatest 以便组合不同的数据集。

完成后,效果仍然存在,您可以分派一个操作来存储数据。

然后,链接到已处理数据的选择器将为组件提供数据。