我一直在使用SWR进行分页,以在页面上显示数据。起初,它是一个简单的API,有两个查询字符串:page
和size
。
const fetcher = (...args) => fetch(...args).then((res) => res.json());
const { data, error } = useSWR(
`/api/pager?page=${pageIndex}&size=${pageSize}`,
fetcher
);
到目前为止一切顺利。现在我想给数据添加搜索功能。搜索条件可能很复杂。除了搜索字符串,我还想搜索日期,分数和其他一些领域。把它们放在URL搜索查询中似乎效率不高,因为URL会变得太长。
const searchCriteria = {
description: "some foo",
startDate: new Date("2023-04-01"),
endDate: new Date("2023-04-30"),
submitted: true
}
有没有一种方法可以通过提供一个对象来对SWR进行分页?官方文件看起来很模糊。如果可以提供示例代码,请表示感谢。
1条答案
按热度按时间6ovsh4lw1#
如果可以修改API,则使用
POST
方法并在body
中发送数据:否则,您可以使用
URLSearchParams
将搜索参数与URL连接起来: