【问题标题】:When to create a new Flux Store何时创建新的 Flux Store
【发布时间】:2015-04-19 03:05:08
【问题描述】:

我想知道在使用 API 时在 Flux 中创建商店时的最佳实践或约定是什么

假设我们有一个“项目”列表,API 调用最终会填充 _projects

中名为 ProjectStore 的 Store

然后,当用户选择项目时,您希望加载项目特定的数据。您是将其添加到与 _activeProject 相同的 ProjectStore,还是为其创建一个单独的 Store?

在该项目中加载待办事项时也是如此。将这些放在 TodoStore 中是有意义的,但是项目中的 Todo 中的特定 Todo 呢?

我希望以上内容有意义:)

【问题讨论】:

    标签: javascript reactjs flux


    【解决方案1】:

    我会使用ProjectStore来存储_projects_activeProject

    在我的 React 项目中,我通常会为每个模型创建一个新商店。 例如:假设我有一个提供消息和帐户的应用程序。然后我会有一个MessageStore和一个AccountStore。然后根据他们的域使用这些。 例如,当我想从后端(通过 API)获取一些消息时,我将它们存储在 MessageStore 中。 AccountStore 也是如此。

    随着您的项目变得越来越大,您可能不得不重新考虑将某些东西重构到新商店中。例如,如果您想向您的网站添加广告,您可以创建一个AdsStore

    我的经验法则是尝试按域分隔商店,但不要使结构变得过于复杂。

    希望有所帮助。

    【讨论】:

    • 感谢您的洞察力.. 实际上,我正准备在 Express API 中为每个模型创建一个商店,但不知何故感觉不对。不确定它是否是“通量方式”。当加载特定项目并且您正在浏览不同的 ProjectSettings、ProjectTeam、ProjectOverview 页面时,我可以看到一个名为“ActiveProject”的商店的好处。
    • 我同意。如果在“ActiveProject”中检索到的“新”数据需要大量新逻辑和其他 API 调用,那么创建一个新存储将是有益的。
    • 非常棒。再次感谢。
    猜你喜欢
    • 2016-06-02
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    • 2015-08-04
    • 2016-11-13
    • 2015-04-25
    • 1970-01-01
    • 2015-10-11
    相关资源
    最近更新 更多