我正在使用 html5 音频组件在通量/ react 中开发一个简单的音频播放器。
我明白 Flux 的关键原则之一是数据应该以一种方式流动。
Action -> 存储 -> 组件
“商店”应该是真相的来源。
在这种特殊情况下,我在遵循这些原则时遇到了困难,因为数据必须来自音频组件,例如 mp3 的持续时间是音频组件 api 的一部分,以及它的当前位置。
我想也许我可以使用一个 Action 将所有初始数据传递给它并用新的轨道位置更新它(当用户正在播放剪辑时)但这感觉真的很难看......我怎么能在这个中遵守通量原则头脑?
最佳答案
React Router 的创建者之一喜欢说:“谁拥有数据?”如果是应用程序,那么它属于商店。如果它完全包含在一个组件中,则该组件可以管理自己的状态。
在这种情况下,我认为最好的情况是它应该由组件本身来处理。也许如果音频被中断/暂停,则该操作可能会反过来通知可以保存位置等的商店,但这可能仅在页面上只有一个玩家时才是正确的。
关于html - Flux with React Audio Component 以一种方式流动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31064707/