作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在 useInfiniteQuery 中将 queryKey 变量与 pageParam 一起传递?我已经尝试了一段时间但是:
我应该如何传递变量?
export const fetchInfiniteVariants = async (
filters = {},
{ pageParam = 0 }
) => {
const records = await axios.get(baseURL, {
headers: authHeader,
params: {
pageSize: 24,
offset: pageParam,
fields: [
"name",
"packshot",
"packshot_size",
"brand_logo",
"price",
"slug",
],
// filterByFormula: `({validated} = 1)`,
filterByFormula: `(${filterByFields(filters)})`,
"sort[0][field]": "priority",
"sort[0][direction]": "asc",
},
})
return records
}
export const useInfiniteVariantsQuery = (
initialRecords,
offset,
filters = { brand: "HAY" }
) => {
const infiniteVariantsQuery = useInfiniteQuery(
["infiniteVariants", filters],
() => fetchInfiniteVariants(filters),
{
initialStale: true,
staleTime: 6000,
getNextPageParam: (lastPage, pages) => lastPage.data.offset,
}
)
return {
...infiniteVariantsQuery,
}
}
最佳答案
您传递给 useInfiniteQuery 的 queryFn 将请求上下文作为该回调的参数,如 useInfiniteQuery page 中所述:
Receives a
QueryFunctionContext
object with the following variables:
queryKey: EnsuredQueryKey
: the queryKey, guaranteed to be an ArraypageParam: unknown | undefined
您可以从中解构并检索您的 queryKey,如下所示:
export const useInfiniteVariantsQuery = (
initialRecords,
offset,
filters = { brand: "HAY" }
) => {
const infiniteVariantsQuery = useInfiniteQuery(
["infiniteVariants", filters],
({ queryKey, pageParam }) => fetchInfiniteVariants(queryKey[1], pageParam),
{
initialStale: true,
staleTime: 6000,
getNextPageParam: (lastPage, pages) => lastPage.data.offset,
}
)
return {
...infiniteVariantsQuery,
}
}
关于reactjs - 如何将过滤器变量传递给带有 pageParam 的 useInfiniteQuery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72624944/
我正在尝试使用 useInfiniteQuery 获取数据,但在我的控制台上,我正在获取数据,但 pageParams 显示未定义,我是否缺少获取 pageParams 的内容? 这是我的查询钩子(H
我试图在 useInfiniteQuery 中将 queryKey 变量与 pageParam 一起传递?我已经尝试了一段时间但是: 无法获取页面数据 在某些情况下,数据会重复呈现。 我应该如何传递变
我试图在 useInfiniteQuery 中将 queryKey 变量与 pageParam 一起传递?我已经尝试了一段时间但是: 无法获取页面数据 在某些情况下,数据会重复呈现。 我应该如何传递变
我是一名优秀的程序员,十分优秀!