【发布时间】:2018-07-26 20:26:14
【问题描述】:
我开始将 ngrx 实现到一个新的企业 Angular 应用程序中。我正在将数据加载到存储中,并带有一个简单的服务调用效果@Effect()
loadCheckin$ = this.actions$.ofType(checkInActions.LOAD_CHECK_IN)
.pipe(
switchMap(() => {
return this.checkInService.getCheckIn()
.pipe(
map(checkIn => {
return new checkInActions.LoadCheckInSuccess(checkIn)}),
catchError(error => of(new checkInActions.LoadCheckInFail(error)))
);
})
);
服务器返回给我的成功操作的响应是一个大对象,其中包含许多我的前端存储不需要的属性。
我想要一个类似这样的前端状态界面:
export interface AppointmentState {
checkIn: fromCheckIn.CheckInState;
action: fromAction.ActionState;
billing: fromBilling.BillingState;
clinical: fromClinical.ClinicalState;
documents: fromDocuments.DocumentsState;
};
这些状态切片中的每一个都有自己的接口。所有这些都是基于前端的需求而不是后端的样子来构建的。
我很难理解的是我们在后端和前端之间匹配数据的方式。当我从后端加载那个巨大的对象时,即使我只需要一些属性,reducer 是否是创建和返回为状态正确构造的东西的正确位置?是否有任何理由保持与后端响应完全匹配的状态?有没有其他最佳实践?
【问题讨论】: