代码之家  ›  专栏  ›  技术社区  ›  DJClayworth

ngrx中的多个存储

  •  16
  • DJClayworth  · 技术社区  · 7 年前

    我正在用Angular和ngrx编写一个企业级应用程序。目的是在整个过程中使用Flux和ngrx。为了重用和可分离性,我们需要(至少)两个彼此不交互的状态存储。但我们确实需要两个存储同时处于活动状态,并且可能从相同的组件访问。

    Ngrx似乎是基于这样一个假设,即一次只有一家商店。有没有一种方法可以让我拥有多个存储对象(当然是用不同的状态对象模板化的),并让它们同时加载和激活?

    我知道“最佳实践”建议将门店合并为一家。除非有一种全新的方法,否则这在这里是不可行的。

    2 回复  |  直到 7 年前
        1
  •  20
  •   bygrace    4 年前

    我建议设置两个功能状态。以下是相关文件: https://github.com/ngrx/platform/blob/v5.2.0/docs/store/api.md#feature-module-state-composition

    虽然这与拥有两个单独的商店不同,但对于大多数实际用途来说是一样的。当导入的模块 StoreModule.forFeature('featureName', reducers) 已加载。你可以懒洋洋地或迫不及待地这样做。每个功能状态都可以访问根状态,所以您可以将公共状态放在两个功能状态都可以访问的根状态上。特征状态不应相互引用,因为它们可能不会被加载,这将否定拥有它们的理由。

        2
  •  -2
  •   Akash Ravi    4 年前

    我已经使用actions和Reducer为多个商店创建了完整的应用程序。我已经在github中上传了zip文件。

    https://github.com/akashprince138/multiple_store