@confighub/rtk-query

中文文档
0.10.11发布于 2026/11/08MITTypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 8245

配置Hub API 的 RTK 查询客户端( 生成的钩子、 缓存标记、 无记名认证)

中文使用文档
文档目录4 节
  1. 设置
  2. 使用
  3. 配置数据
  4. 页:1

@ fighub/tk- query

一个 RTK 查询 客户端 配置图 API — 生成端点, 钩和缓存标记, 与无记名认证。 如果您的应用程序已经在Redux工具箱上, 您需要这个工具箱 useListUnitsQuery(...) 有自动缓存和无效的样式.

如果您不在 Redux 上, 请使用 @confighub/api 一个很小的框架不可知的客户端。 两者是平行的: 同一版本的相接 光谱,相同 getToken auth 接合 不同的生成器 他们没有密码.

设置

配置 api 一次, 然后添加到您的商店 :

import { configureStore } from '@reduxjs/toolkit';
import { confighubApi, configureConfigHub } from '@confighub/rtk-query';
import { getAccessToken } from '@confighub/react-auth';

configureConfigHub({
  baseUrl: 'https://hub.confighub.com',
  getToken: getAccessToken, // any () => string | undefined; token source is your choice
});

export const store = configureStore({
  reducer: { [confighubApi.reducerPath]: confighubApi.reducer },
  middleware: (getDefault) => getDefault().concat(confighubApi.middleware),
});

将您的应用包入反应- redux <Provider store={store}> 和往常一样.

使用

import { useListSpacesQuery, useListUnitsQuery } from '@confighub/rtk-query';
import { skipToken } from '@reduxjs/toolkit/query';

function Spaces() {
  const { data: spaces, isLoading } = useListSpacesQuery();
  const [spaceId, setSpaceId] = useState<string | null>(null);
  const { data: units } = useListUnitsQuery(spaceId ? { spaceId } : skipToken);
  // ...
}

配置数据

该股的配置不是该股的一个领域. Unit, (中文(简体) ), Revision 财务报告和审定财务报表 Release 携带 DataHash 财务报告和审定财务报表 DataSize;文档本身有自己的终点,也有自己的钩子:

const { data: config } = useDownloadUnitDataQuery({ spaceId, unitId });   // a string
const [uploadUnitData] = useUploadUnitDataMutation();

await uploadUnitData({
  spaceId,
  unitId,
  body: edited,                       // the document, not a JSON envelope
  lastChangeDescription: 'raise replicas',
  include: 'ConfigData',              // the configuration the write produced
}).unwrap();

useGetUnitMutationSourcesQuery 读取每个值的设置。 列表请使用批量 问 题 - useSearchUnitDataQuery, (中文(简体) ), useSearchRevisionDataQuery, (中文(简体) ), useSearchUnitMutationSourcesQuery, (中文(简体) ), useSearchRevisionMutationSourcesQuery ——每个 这需要 where 在一个请求中为许多单位提供条款和答案。 每一份申请 单位是取消该实体的配置的本意.

有三件事要知道 类型检查员不会执行

  • 这些终点服务 application/octet-stream。 。 。 . 基础查询集 responseHandler: 'content-type' 正是因为这个原因: RTK 查询的默认 'json' 处理器 JSON.parses 每个身体, 它在 YAML 和表面上失败, 作为分析错误 没有数据 —— 一个空编辑器, 没有什么好说的。 如果你建立自己的基础查询, 把这个装好.
  • 以操作的结果来写答案,而不是实体. useCreateUnitMutation, (中文(简体) ), useUpdateUnitMutation, (中文(简体) ), usePatchUnitMutation, (中文(简体) ), useUploadUnitDataMutation 和批量 窗体返回 UnitCreateOrUpdateResponse;联检组在 Unit 字段。 对a dryRun, (中文(简体) ), include: 'ConfigData,MutationSources' 只有这样才能看清 生产,因为没有储存.
  • 空配置是一个配置 ——空出一个单位就是其资源状况 已撤回——所以从不以 if (body)。 。 。 .

描述配置如何继续的每个参数 uploadUnitData,不在其面前的元数据更新上: mergeExternalSource, (中文(简体) ), mergeBase, (中文(简体) ), mergeEnableSubtraction, (中文(简体) ), protect, (中文(简体) ), clearance, (中文(简体) ), tag, (中文(简体) ), subgroup, (中文(简体) ), changeSetId, (中文(简体) ), lastChangeDescription 财务报告和审定财务报表 dryRun。元数据调用不改变配置,所以 寄到那儿的任何东西都会悄悄地掉下来.

命名 Data 或者说 MutationSources 在一个 select 是一个400而不是一个沉默的缺席 字段。 有一个内容散列, DataHash· ; ContentHash 财务报告和审定财务报表 RevisionHash 不见了.

页:1

  • baseUrl 是实例源; 客户对象 {baseUrl}/api。数值与 认证提供者.
  • Api是一个模块单子,所以 baseUrl编号 :getToken 设定在配置时间,而非 每例——与 @confighub/api。 。 。 .
  • 401打给你 onUnauthorized (如果提供的话);它不改变方向。 403打给你 onForbidden 与错误,谁 data.message 说为什么.
  • 端点 : @reduxjs/toolkit, (中文(简体) ), react, (中文(简体) ), react-redux。 。 。 .
  • 端点和类型来自版本的 CfigHub 服务器的 spec 包裹携带,通过 @rtk-query/codegen-openapi。 。 。 .

版本与发布记录

@confighub/rtk-query 共发布 107 个版本,首次发布于 2026/07/07;过去 12 个月发布了 107 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.10.11latest2026/11/082 天前
0.10.102026/11/073 天前
0.10.92026/11/073 天前
0.10.82026/11/064 天前
0.10.72026/11/055 天前
0.10.62026/11/055 天前

关于 @confighub/rtk-query 的常见问题

@confighub/rtk-query 是什么?

配置Hub API 的 RTK 查询客户端( 生成的钩子、 缓存标记、 无记名认证)

如何安装 @confighub/rtk-query?

在项目目录运行 npm install @confighub/rtk-query,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^18.0.0 || ^19.0.0)、react-redux(^9.0.0)、@reduxjs/toolkit(^2.12.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@confighub/rtk-query 支持 TypeScript 吗?

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

@confighub/rtk-query 支持 ESM 还是 CommonJS?

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

@confighub/rtk-query 可以商用吗?

@confighub/rtk-query 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@confighub/rtk-query 的下载量有多少?

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

@confighub/rtk-query 还在维护吗?

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