flux多个商店实例

Mic*_*don 11 reactjs reactjs-flux

在通过所有者ID将数据划分为存储桶的通量应用程序中,我们应该使用一个内部将数据分成存储桶的存储,还是每个存储桶一个存储实例?

例如,我们有一名申请用户,他是多名运动员的教练.每个执教的运动员都有零次或多次训练,教练可以同时观看一名或多名运动员的训练.

我们可以为所有运动员提供一个健身商店; 商店必须确保所有数据都分成运动员桶,每个商店方法都需要一个athleteId参数.

或者,我们每个运动员身份可以有一个商店实例.这简化了商店逻辑和方法签名,但随后我们必须管理更多商店实例.

有没有人有这种方法的经验?以某种方式做到这一点的任何利弊?或者,哪种方式是'通量方式',为什么?

fis*_*dev 8

Flux方式是创建单件商店.它们不是模型,因为我们习惯于在ORM风格的MVC模式中思考模型.存储仅在应用程序初始化时实例化.他们管理逻辑和数据的"领域".

这些单件商店向调度员注册回调.回调是数据进入商店的唯一方式.商店还提供getter方法作为公共API - 数据输出的唯一方式.没有制定者.商店是他们自己的宇宙,完全控制他们的数据和行为.

在您的情况下,听起来逻辑域是运动员和锻炼,所以我将创建一个运动员商店和一个WorkoutStore,并在他们各自的商店内维护这两件事的集合.我想你会有像吸气鬼一样的东西getWorkoutsByAthleteID().

  • 使用单件存储,当只有其中一个存储库更新时,如何阻止侦听某个存储的*all*组件重新呈现? (3认同)
  • @dforevdg:您可以在“ shouldComponentUpdate”中检查 (2认同)