转换可以进入效果器或减速器。
如果需要执行任何验证,我会将其放入效果中 - 我可以选择调度错误操作。
否则,我会将其放入减速器中,因为我通常会将动作有效负载转换为状态。
还有另一种选择:您可以使用选择器。也就是说,消息可以作为一个简单的数组存储在状态中,并且可以使用选择器来转换状态的消息,按交易对手或其他方式对它们进行分组。如果我有多种方式对消息进行分组,这是我会选择的选项。
@ngrx/example-app
包含一些选择器示例:
/**
* A selector function is a map function factory. We pass it parameters and it
* returns a function that maps from the larger state tree into a smaller
* piece of state. This selector simply selects the `books` state.
*
* Selectors are used with the `select` operator.
*
* ```ts
* class MyComponent {
* constructor(state$: Observable<State>) {
* this.booksState$ = state$.select(getBooksState);
* }
* }
* ```
*/
export const getBooksState = (state: State) => state.books