为什么使用 reducerManager 会给我不正确的状态

Why do using reducerManager gives me incorrect state

我正在使用 reducerManager 在全局对象中添加我的缩减器。

如果我写

const reducer = createReducer( initialState, on( doSomething, state => state ) );

然后:

reducerManager.addReducer( 'reducer', reducer );

在我的组件中使用 select 我需要写:

val:Observable<any> = this.store.select( state => state.reducer.val );

我的问题是为什么我不能只写:

val:Observable<any> = this.store.select( state => state.val );

这是使用 reducer manager 的意思还是我理解错了?

我已经在我的管理器中添加了很多 reducer 并且在将名称写为状态 属性 以获得我的最终值之后,我总是得到相同的存储状态(顺便说一句,这些状态是共享的,目的是什么有吗?)

状态是全局对象。 通过使用 reducerManager.addReducer( 'reducer', reducer );,您将 reducer 添加到全局对象,使用 reducer 作为键。

所以你的状态变成了

{
  reducer: reducer()
}

要从存储中读取,您总是 select 来自根对象,因此您需要 select 来自 reducer 属性.[=14 的状态=]