0

我将在ngrx 示例应用程序中实现的减速器的当前样式与以前的样式进行比较,以便找出大型应用程序的每种方法的优缺点。

现在编码为:

export const getEntities = (state: State) => state.entities;

以前会写得很像:

export function getEntities(state$: Observable<State>): Observable<IEntity[]> {
  return state$.select(state => state.entities)
}

虽然我确实喜欢使用reselect启用的当前简洁模式,但我必须说旧模式对我很有吸引力,因为我可以清楚地看到预期输出的数据类型。

由于它是一个 Observable 流,它还允许进行某些初步操作,例如过滤:

export function getEntities(state$: Observable<State>): Observable<IEntity[]> {
  return state$.select(state => state.entities)
    .filter(state => state.isLoaded)
}

OTOH,在一个快速增长的应用程序中,旧模式变得难以管理,代码量迅速爆发。

我想知道是否有一种中间模式可以充分利用这两个世界?

4

0 回答 0