redux - Redux Saga 使用不同的数据同时多次调用相同的类型
问题描述
以下是我的应用程序的流程:
我必须获取列表中每个帖子的创建者的个人资料照片。
我有一个动作类型FETCH_USER_PROFILE
。该操作包含userId
要传递给 saga 函数内部的 api 调用。
考虑到 React 应用程序,post 的 profile 或 Avatar 组件根据createdByUserId
它从父 post 组件接收到的 prop 调度 action。
我在减速机上有一把钥匙isFetchingUserDetails
每当FETCH_USER_PROFILE
发送动作类型时,在它的 saga 中,我yield-put isFetchingUserDetails
都是true
.
当收到来自 api 的响应时,我yield-put isFetchingUserDetails
作为false
.
基于isFetchingUserDetails
我在 Avatar 组件上显示加载器。
它适用于一个 api 调用,但是当同时发送多个相同动作类型的调度(userIds
虽然不同)时,它会isFetchingUserDetails
不断修改,因为 api 调用可能会由于网络限制而花费不均匀的时间。
因此,即使对于未获取响应的头像或配置文件也不显示加载程序,因为isFetchingUserDetails
收到的第一个响应设置为 true。
请建议我在这种情况下可以做什么。
- 我应该制作足够的多种动作类型
userId
吗?这甚至可能吗? - 我应该设置
isFetchingUserDetails
后缀为 userId 吗?但是如果用户数是10k+