问题描述
现在我要面对NGRX + Angular7。这是我使用NGRX的第一个项目,因此我对Redux缺乏了解。
这种情况是我有服务器端分页。例如通过api / products / ProductionLots?currentPage = 2&pageSize = 6的GET调用API来获取例如productionLots的当前列表。响应是这样的:
{
"productionLots": {
"count": 8,"data": [
{}
],"pager": {
"currentPage": 2,"endPage": 2,"firstLinkCssClass": "First","firstLinkText": "<<","lastLinkCssClass": "Last","lastLinkText": ">>","linkSelectedCssClass": "Selected","nextLinkCssClass": "Next","nextLinkText": ">","pages": [
{
"cssClass": "First","pageNumber": 1,"sortDirection": "DESC","sortKey": "Date","text": "<<"
},{
"cssClass": "PrevIoUs","text": "<"
},{
"cssClass": "","text": "1"
},{
"cssClass": "Selected","pageNumber": 2,"text": "2"
}
],"pageSize": 6,"prevIoUsLinkCssClass": "PrevIoUs","prevIoUsLinkText": "<","startPage": 1,"totalPages": 2
},"sortDirection": "ASC","sortKey": "Date"
},"partnerQueryStatus": [
{
...
}
]
}
我不为分页数据创建状态。因此,当我转到另一页时,我上一页的状态总是被替换。如何创建存储,以便返回到前一页,无需再次调用api,可以直接从商店获取。另外,如何编写效果以查看所单击页面的数据是否已存储在商店中。 目前我的减速器如下:
export function productionLotDetailsReducer(state: ProductionLotState = initialProductionLotDetails,action: ManufacturingActions.ActionsUnionProductionLotsDetails) {
switch (action.type) {
case ManufacturingActions.LOAD_PRODUCTIONLOTS_SUCCESS:
return {
...state,productionLotError: null,loading: false,loaded: true,productionLots: action.payload.data,pager: { currentPage: action.payload.pager.currentPage,endPage: action.payload.pager.endPage }
};
case ManufacturingActions.LOAD_PRODUCTIONLOTS:
return {
...state,loading: true,loaded: false,pager: page == null ? { currentPage: state.pager.currentPage,endPage: state.pager.endPage } : page
};
case ManufacturingActions.LOAD_PRODUCTIONLOTS_FAIL:
return {
...state,productionLotError: action.payload,pager: {}
};
default:
return state;
}
}
我将非常感谢您提供答案和提示。谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)