@convex-dev/react-query

中文文档
0.1.0发布于 2025/11/20Apache-2.0TypeScriptESM + CJS零依赖近 30 天下载 86万

而不是投票,你订阅 接收更新 从服务器端查询功能 在康维克斯部署。 Convex是一个带有服务器侧(db-side?)的数据库. 类似存储程序)的功能,可以被动更新.

中文使用文档

@ convex-dev/ react-query (英语)

而不是投票,您要通过服务器端查询获得更新 用于Convex部署。 Convex 是带有服务器侧的数据库 (db -边? 类似存储程序)的功能,可以被动更新.

将所有相关订阅的新结果推给客户 同时更新数据,所以数据永远不僵化,没有必要打电话 queryClient.invalidateQueries()。 。 。 .

设置

见 ./src/例.tsx (中文(简体) ) 对于一个真正的例子。 将军 样式 :

  1. 创建 Convex 客户端和 Convex 查询客户端 。 设置全局默认值 queryKeyHashFn 改为 convexQueryClient.hashFn() 财务报告和审定财务报表 queryFn 改为 convexQueryClient.queryFn()连接 Convex 查询中心到反应 出问入道.
const convexClient = new ConvexReactClient(import.meta.env.VITE_CONVEX_URL);
const convexQueryClient = new ConvexQueryClient(convexClient);
const queryClient = new QueryClient({
  defaultOptions: {
    queries: {
      queryKeyHashFn: convexQueryClient.hashFn(),
      queryFn: convexQueryClient.queryFn(),
    },
  },
});
convexQueryClient.connect(queryClient);
  1. 使用 useQuery() 与 convexQuery 选项厂函数调用 a 一个 api 导入对象 ../convex/_generated/server 和论点 用于此查询功能。 这两个构成查询密钥.
const { isPending, error, data } = useQuery({
  ...convexQuery(api.repos.get, { repo: "made/up" }),
  gcTime: 10000, // unsubscribe after 10s of no use
});

staleTime 设置为 Infinity 数据从不僵化,而是 服务器上查询结果更新时主动更新 。 (见 tkdodo 的贴文 更多关于这个) 如果你喜欢,自定义 gcTime 时间长度a 查询订阅毕竟应该保持活动 useQuery() 钩子用它 已卸载.

如果你需要使用 Convex 动作作为查询, 它不会是反应; 你会得到 react Query 中的所有普通工具来进行回溯.

使用 TanStack 查询的区别 fetch

从服务器上推出新的查询结果, 所以 a staleTime 联 合 国 Infinity 应当使用.

您的应用程序将一直订阅到查询 gcTime 已经过去了。 调色板 通常使用至少一个值的交换方式 几秒钟.

示例

要运行这个例子:

  • npm install
  • npm run dev

变异和行动

如果你把应用包在 ConvexProvider 你会使用螺旋钩 喜欢 useConvexMutation 财务报告和审定财务报表 useConvexAction· :

<ConvexProvider client={convex}>
  <QueryClientProvider client={queryClient}>
    <App />
  </QueryClientProvider>
</ConvexProvider>

您可以直接使用此变异函数, 也可以在 TanStack 查询中将其包裹 useMutation数字 :

const mutationFn = useConvexMutation(api.board.createColumn);
const { mutate } = useMutation({ mutationFn });
const { mutate } = useMutation({
  mutationFn: useConvexAction(api.time.getTotal),
});

认证

说明: 例应用包括基本 Convex Auth 执行 参考文献.

TanStack Query 并不是关于认证; 认证代码可能是一个元素 查询密钥。 用Convex不用再加一个 auth 代码的密钥; auth 是所有 Convex 查询和 当认证信息发生变化时,这些查询将被重审.

Convex auth 通常是通过 JWT 完成的: 如果 打电话前请 convexReactClinet.setAuth() 具有 提供标志.

Auth 设置看起来就像推荐在 对流文件,使用 使用本地对流钩. 对于办事员来说,这看起来可能是这样的:a ClerkProvider 用于认证, a ConvexProviderWithClerk 对于对流客户端,和 a QueryClient。 。 。 .

<ClerkProvider publishableKey="pk_test_...">
  <ConvexProviderWithClerk client={convex} useAuth={useAuth}>
    <QueryClientProvider client={queryClient}>
      <App />
    </QueryClientProvider>
  </ConvexProviderWithClerk>
</ClerkProvider>

见 Convex Auth 文档 用于设置指令.

开始

  • 认证
  • 发送查询
  • 清除/ 未订阅使用效果; 热重装入可能不是 工作权利

捐款

复制后, 重播运行 npm i 以安装依赖。 此软件包使用 hy 发布无害环境管理。 如果有需要的话 对于一个 CJS 构建, 我们可以在“ dialects” 部分添加“ cjs ” 那个包裹 json.

要发布 alpha 版本, 请在 package.json 中将版本更新为某种内容 喜欢 0.0.0-alpha.1 运行 just rush-pnpm publish --tag alpha。 。 。 .

要发布定期发布, 将版本更新为 package.json 到某样东西 喜欢 0.1.2 运行 just rush-pnpm publish。 。 。 .

版本与发布记录

@convex-dev/react-query 共发布 10 个版本,首次发布于 2024/07/19;过去 12 个月发布了 1 个版本。

版本发布日期距今
0.1.0latest2025/11/2011 个月前
0.0.0-alpha.112025/06/171.4 年前
0.0.0-alpha.102025/06/171.4 年前
0.0.0-alpha.92025/06/171.4 年前
0.0.0-alpha.82024/10/292 年前
0.0.0-alpha.72024/10/242 年前

其他发布通道:alpha → 0.0.0-alpha.4。

关于 @convex-dev/react-query 的常见问题

@convex-dev/react-query 是什么?

而不是投票,你订阅 接收更新 从服务器端查询功能 在康维克斯部署。 Convex是一个带有服务器侧(db-side?)的数据库. 类似存储程序)的功能,可以被动更新.

如何安装 @convex-dev/react-query?

在项目目录运行 npm install @convex-dev/react-query,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:convex(^1.29.3)、@tanstack/react-query(^5.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@convex-dev/react-query 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@convex-dev/react-query 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@convex-dev/react-query 可以商用吗?

@convex-dev/react-query 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@convex-dev/react-query 的下载量有多少?

根据 npm 官方下载统计,@convex-dev/react-query 在 2026/10/11 – 2026/11/09 这 30 天内被下载 860,304 次,日均约 28,677 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@convex-dev/react-query 还在维护吗?

最新版本 0.1.0 发布于 2025/11/20(11 个月前);至今共发布 10 个版本,其中过去 12 个月发布了 1 个;首次发布于 2024/07/19。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。