StoreModule.forRoot() 中的减速器名称

Reducer name in StoreModule.forRoot()

我的问题是为什么下面突出显示的两个 count 的名称必须相同才能使应用程序正常工作?文档说 forRoot 将 reducer 作为参数,但是为什么 forRoot 中的 reducer 名称应该与状态相同(在这种情况下为计数)?我没有在文档中的任何地方看到这个,谢谢!

导入:[BrowserModule, StoreModule.forRoot({ count: counterReducer })],

构造函数(私人商店:商店<{count:数字}>){ this.count$ = store.select('count'); }

(示例来自https://ngrx.io/guide/store

forRoot(和forFeature)建立状态树,在这个例子中你最终得到以下状态树:

{
  count: 0
}

select从状态树读取,必须从顶层开始,这就是为什么需要count,因为它读取count属性 来自状态树。

状态更大的例子:

{
  customers: {
    persons: {
      ...
    }
  }
}

会导致以下select得到人

store.select('customers', 'persons')