2

我的后端 API 支持 GET_LIST 操作的基于光标的分页。

API: {apiUrl}/{resource}?fltr={limit:100}

Response: 
{
data: [],
next: {reference_url_to_the_next_paginated_data_set}
}

用现有的 AOR 分页基础设施支持这种分页的最佳方式是什么?

4

2 回答 2

1

我最终使用 Custom Saga、Action creator 和 Reducer 实现了这一点。

  1. 让自定义 Saga 获取每个 GET_LIST_SUCCESS 并为该资源调度自定义“UPDATE_PAGINATION”操作。
  2. 使用自定义分页缩减器处理该操作。reducer 在 redux 存储中按页面创建并维护每个资源的“分页”状态
  3. 订阅该资源的分页状态的连接分页组件,具有“下一个”和“上一个”按钮以及“当前页面”状态。单击“Next”或“Previous”按钮,获取“currentPage”的“nextUrl”或“previousUrl”,并使用 AOR 的 fetch-meta 更新该资源的“data”状态。

  4. 像这样在数据网格中使用这个自定义分页组件

<List resource="myResource" pagination={<CustomPagination />} />

于 2017-08-16T08:19:14.150 回答
0

您需要编写一个自定义 Rest 客户端来处理您的响应和请求类型。当您的客户端发出 GET_LIST 类型的请求时,您需要您的 API 设置 X-Total-Count 标头。

https://marmelab.com/admin-on-rest/RestClients.html

于 2017-07-05T05:55:51.827 回答