我正在开发一个带有反应的视频聊天应用程序,并使用 redux 进行状态管理。目前在 webRTC 中使用 agora。随着 webRTC 相关事件的发生(流被添加、删除等等),状态应该被更新并发送到所有需要/依赖它的组件。
然而,单独的 redux 并不意味着这个。正如这个 SO question和Dan Abramov(制造商本人)所讨论的那样,redux 并不适用于类,因此存储 webRTC 流是一个坏主意。
我想我应该手动存储和管理自己的 webRTC 状态(某处,idk where
尽管如此,我还是很难理解如何自己存储 webRTC 流:
- 我相信使用上下文 API 将导致我的所有组件在每次流更改/添加/删除/发生任何其他相关事件时呈现。
- 在 react 函数组件上管理 webRTC 状态将很快成为一场噩梦,因为我必须在顶层进行,并且几乎在任何地方都将其传递下去。
- redux-saga 被认为是一个潜在的救星,但我对此有点陌生,我不清楚这有什么帮助,因为它似乎主要处理副作用和异步调用。我需要一个并行商店(AFAI 了解)
底线:
有人可以给出一个好的和详细的解释,或者给我一个很好的代码库吗?