# @confighub/rtk-query 中文文档

规范地址：https://npmcn.com/package/%40confighub/rtk-query/

版本：0\.10\.11
npm 元数据更新时间：2026-11-08T01:05:34.601Z
中文译文更新时间：2026-11-10T15:29:39.959Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40confighub/rtk-query
原文对照：https://npmcn.com/package/%40confighub/rtk-query/?lang=original
项目主页：https://github.com/confighub/js-sdk/tree/main/packages/rtk-query#readme
源码仓库：https://github.com/confighub/js-sdk

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：18.8 MB，9 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：react ^18\.0\.0 \|\| ^19\.0\.0，react-redux ^9\.0\.0，@reduxjs/toolkit ^2\.12\.0
- 首次发布：2026-07-07T08:43:16.619Z
- 最新版本发布：2026-11-08T01:05:34.218Z
- 近 30 天下载量：8245（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：107（近 12 个月 107 个）

## 中文简介

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

## 安装

```sh
npm install @confighub/rtk-query
```

也可以使用：`pnpm add @confighub/rtk-query`、`yarn add @confighub/rtk-query`、`bun add @confighub/rtk-query`

## README

# @ fighub/tk- query

一个 [RTK 查询](https://redux-toolkit.js.org/rtk-query/overview) 客户端 [配置图](https://confighub.com/) API — 生成端点, 钩和缓存标记, 与无记名认证。 如果您的应用程序已经在Redux工具箱上, 您需要这个工具箱 `useListUnitsQuery(...)` 有自动缓存和无效的样式.

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

## 设置

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

```ts
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}>` 和往常一样.

## 使用

```tsx
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`;文档本身有自己的终点,也有自己的钩子:

```tsx
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.parse`s 每个身体, 它在 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 是什么？

配置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 和提交记录判断。

