为什么这么多React / Flux教程提倡多个商店?

时间:2015-08-19 22:01:14

标签: reactjs reactjs-flux flux

我一直在看Baobab图书馆,我对“单树”方法非常感兴趣,我将其解释为基本上是单一商店。但是,如此多的Flux教程似乎提倡许多商店,甚至是“每个实体的商店”。在我看来,有多个商店可以呈现各种并发问题。我的问题是,为什么单店一个坏主意?

2 个答案:

答案 0 :(得分:1)

这取决于你想做什么以及你的项目有多大。有几个商店是个好主意的原因有几个:

  1. 如果你的项目不是那么小,你最终可能会得到一个巨大的2000 / 3000lines商店而你却不希望如此。这就是编写模块的重点。你想避免大于1000行的文件(低于500甚至更好:))。

  2. 在一个商店中编写所有内容会使您无法使用waitFor函数与调度程序一起享受依赖关系管理。检查模型之间的依赖关系和潜在的循环依赖关系会更加困难(因为它们都在一个模型中)商店)。我建议你看一下https://facebook.github.io/flux/docs/chat.html

  3. 阅读起来比较困难。通过多个商店,您可以一目了然地找出您拥有的数据类型,并通过常量文件为调度员事件查看您的所有活动。

  4. 因此可以将所有内容保存在一个商店中并且它可以完美地工作但是如果您的项目增长,您可能会非常后悔并重写几个模块/商店中的所有内容。只是我的意见,我更喜欢拥有干净的模块和数据工作流程。

    希望它有所帮助!

答案 1 :(得分:0)

根据我的经验,与单店合作绝对不是一个坏主意。它有一些优点,例如:

  1. 访问所有数据的单个商店可以更轻松地查询和建立不同数据的关系。使用多个商店可能会使这一点变得更加困难(但绝对不是不可能)。

  2. 对应用程序状态(也称为数据存储)进行原子更新会更容易。

  3. 但是,实施Flux模式的方式会影响您使用单个数据存储的体验。 Facebook上的人们一直在尝试这一点,似乎他们鼓励使用单个数据存储和新的Relay + GraphQL(在这里阅读更多信息:http://facebook.github.io/react/blog/2015/02/20/introducing-relay-and-graphql.html)。

相关问题