【发布时间】:2022-11-12 16:01:50
【问题描述】:
基本上就这些了。我可能会错过它,但想知道是否有内置方法可以从缓存查询中提取前三个结果,例如,我可以在一个查询中查询博客文章列表,在另一个组件中显示最新的三个但仍然有我需要时可用的完整缓存。
我知道我可以循环访问设置的号码,但如果可用,我宁愿使用内置功能。
提前致谢
我已经用谷歌搜索了它,但似乎无法以一种或另一种方式找到我正在寻找的东西。
【问题讨论】:
标签: reactjs react-query
基本上就这些了。我可能会错过它,但想知道是否有内置方法可以从缓存查询中提取前三个结果,例如,我可以在一个查询中查询博客文章列表,在另一个组件中显示最新的三个但仍然有我需要时可用的完整缓存。
我知道我可以循环访问设置的号码,但如果可用,我宁愿使用内置功能。
提前致谢
我已经用谷歌搜索了它,但似乎无法以一种或另一种方式找到我正在寻找的东西。
【问题讨论】:
标签: reactjs react-query
useQuery 通常是你所需要的,它可以使用 select 选项从缓存中提取特定的东西。
要理解的关键是useQuery 只会在缓存中的数据被认为是新鲜的情况下从缓存中读取,可以通过设置staleTime 来自定义:
const usePosts = (select) => useQuery({
queryKey: [posts],
queryFn: () => fetchPosts(),
select
})
const useTopThreePosts = usePosts(posts => posts.slice(0,3))
【讨论】: