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

使用@trpc/react-query的useQuery时出现返回类型不匹配问题

使用@trpc/react-query的useQuery时出现返回类型不匹配问题

各位大佬好!我是TypeScript新手,刚上手NextJS 13.4和tRPC,正在搭个小项目摸清楚这套栈的逻辑,结果碰到个类型不匹配的问题,卡好久了,想请教下大家!

先补点必要的背景:@trpc/react-query 扩展了服务端路由的定义,给我们提供了包括useQuery在内的一系列实用函数。useQuery的参数里有个initialData选项,用来预填充查询结果,我在src/app/_components/UserListClient.tsx里用到了这个配置。

现在的问题具体是这样的:

  • 当我把initialUsers作为initialData的值传入时,VS Code里的initialData被标红了(就是截图里带红色下划线的部分)
  • 鼠标悬停在initialUsers上查看类型提示,发现useQuery期望传入的用户数组里,updatedAt和createdAt字段是字符串类型,但我明明定义的是Date类型
  • 更奇怪的是,我在服务端路由的user.list过程里,已经明确把返回类型的这两个字段设置成了Date类型,不是字符串

我实在搞不懂:useQuery明明能识别到正确的返回类型,偏偏就把这两个Date类型的字段改成字符串类型了?

我试着去追踪useQuery期望的类型,但因为刚学TypeScript,这个过程实在太费劲了,完全摸不着头绪——不知道是不是useQuery内部做了什么类型转换,也不知道该怎么调试这个问题。有没有大佬能帮我分析下原因,或者给点调试的方向呀?

备注:内容来源于stack exchange,提问作者Greg Terlecki

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 09:39:28