我正在比较ngrx example app中实现的缩减器的当前样式与之前的样式,以便找出大型应用程序的每种方法的优缺点。
现在编码为:
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,在一个快速增长的应用程序中,较旧的模式变得难以管理,代码量迅速爆发。
我想知道是否有一种中间模式可以充分利用这两个世界?