zl程序教程

您现在的位置是:首页 >  其他

当前栏目

SAP Spartacus B2B User list页面的数据加载逻辑

SAPList逻辑数据 页面 加载 user Spartacus
2023-09-14 09:04:01 时间

list.service.ts的getData方法里的this.load触发时,this实际指向UserListService:

触发点还是list页面的async pipe:

ListService在运行时的实例化成UserListService,在userCmsConfig里完成:

getUserList:调用this.store.select:

getUserList的实现:

这里才执行createSelector?

createSelector的返回结果:

返回一个Observable对象:

select的输入参数:输入一个函数,该函数的类型定义:

接受一个输入参数,类型为T,输出参数为K,整个select调用返回的类型为:Observable:

问题来了:this.store.select输入的,到底是selector,还是纯函数projection?

从接口看,是一个selector:

这里开始加载list:

先take,再map:

注意,这里返回的是string,而不是Observable:


准备加载B2BUsers,参数为userId和params:

这个return语句会触发reducer的状态迁移:

这个payload里怎么只有一条数据?

似乎是在一个循环里被反复触发:

确实是在循环里:高阶reducer

更多Jerry的原创文章,尽在:“汪子熙”: