You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apollo Client的useQuery传参后未请求第二页数据如何解决

问题原因

useQuery的第二个参数是查询配置对象,GraphQL语句接收的动态参数必须放在配置对象的variables字段下,直接将参数平铺在配置对象根层级不会被Apollo Client识别为查询变量,所以你传入的page:2、limit:100没有被带到实际请求中,自然无法获取第二页数据。

修正代码

你的GraphQL查询定义不需要改动,只需要调整useQuery的传参格式即可:

const { data, loading, fetchMore } = useQuery(postsQuery, {
  variables: {
    page: 2,
    limit: 100
  }
})
补充注意点
  • 如果后续需要切换页码触发重新请求,可以直接给variables绑定响应式变量值,或者调用返回的refetch方法传入新的变量值
  • 分页场景下调用fetchMore加载下一页时,也需要在fetchMore的配置中更新variables里的page值,同时配置对应字段的缓存合并策略,避免新加载的页数据覆盖已有列表数据

内容的提问来源于stack exchange,提问作者meetmoradiya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 01:45:44