有关多功能应用的状态与磁通存储的问题

时间:2015-07-06 20:13:45

标签: javascript reactjs reactjs-flux flux

我一直在学习很多关于flux +为即将到来的项目做准备,该项目将使用React + Flux(alt实现)。 虽然所有概念都清楚我对通量架构以及它们如何连接在一起。我对如何处理页面/视图特定数据存有疑虑。

在大型多功能应用程序中,应用程序范围的状态/数据(如身份验证状态或其他全局功能)应该由flux action / store处理以轻松处理跨组件状态。如果它处于角度1应用程序中,则这些数据/状态将转到工厂。

但是,对于特定于页面/视图的数据/状态,它几乎不会通过顶级组件进行通信,那么仅管理组件状态中的数据会更有意义吗?例如,如果我的应用程序包含非常不相关的不同迷你应用程序(例如天气预报视图和计算器),如果其内部管理状态,是否会使该组件更易于重复使用?

我只是在想象如果我有一个自我包含其状态的“计算器”组件,它将有一个非常独立的可重用计算器组件,我可以放在我的应用程序的任何地方,但是,如果计算器状态是存储在磁通存储中,然后该组件将具有更多的依赖性。最后,如果我希望将来在我的应用程序中允许两个计算器实例,如果使用flux存储,我必须更改结构,以便在商店中包含一个instance-id。然而,如果使用组件状态,我只需要创建两个组件。

我仍然对React + flux相对较新,仍然试图让所有的概念都正确。如果有的话,请随时纠正我。

1 个答案:

答案 0 :(得分:1)

我认为你已经把它发现了。只是几个想法...

  • 如果您在组件(兄弟姐妹,亲子)之间有任何协调,商店非常有帮助,我发现它们比尝试来回传递道具要好得多

  • 在数据发生变化且需要持久保存到服务器的情况下,使用商店非常有帮助。商店是否实际保存数据 - 或者只是通知组件更新成功将取决于您的应用程序。