首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Redux中的分页和过滤响应是如何工作的?

Redux中的分页和过滤响应是如何工作的?
EN

Stack Overflow用户
提问于 2021-05-24 01:07:54
回答 1查看 49关注 0票数 1

我正在构建一个副项目,目前正在使用React开发前端。我有一个关于分页API响应和Redux的问题(这是我第一次使用Redux)。

假设我有一个/invoices应用程序接口端点,它提供了一个分页的发票列表。我还可以将查询参数附加到端点,如?is_paid=false,以过滤这些发票。我是否应该有一个用于发票的存储和另一个用于过滤发票的存储?

我的想法是,对于未过滤的发票,我只需要获得第一页并将其添加到商店,然后如果用户想要第二页,我会将其添加到商店,等等。因此,如果用户想要返回,将不会提出任何请求。但是,我不确定是否也应该对过滤后的发票执行同样的操作,因为可以使用多个过滤器。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-24 10:27:47

你的术语有点离谱。您肯定只想拥有一个store实例。但是你可以在你的商店里有很多不同的属性。

你的商店应该包含一个属性,它是一个由唯一发票id键入的所有已加载发票的字典。每张发票只需要有一条记录,即使该发票可能出现在许多不同的筛选列表中。这些是你的“实体”。

您还需要知道每个列表中有哪些发票,因此您的商店中应该有另一个包含该数据的属性。这些是你的“收藏品”。您只需要在这里存储发票的ids。您将从entities属性中获得完整的发票。

通常,我用于集合的键是URL的路径。所以你的商店结构看起来像这样:

代码语言:javascript
复制
{
  invoices: {
    entities: {
       1: {/* complete invoice record */},
       2: {/* complete invoice record */},
       ...
    },
    collections: {
      "/": [99, 98, 97,...],
      "/page/2/": [89, 88, 87,...],
      "/?is_paid=false": [99, 92, 87, ...],
      "/?is_paid=false&someFilter=x": [92, 35, 21, ...],
   }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67662392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档