# @codat/sdk-link-types 中文文档

规范地址：https://npmcn.com/package/%40codat/sdk-link-types/

版本：1\.16\.0
npm 元数据更新时间：2026-10-26T15:29:49.422Z
中文译文更新时间：2026-11-10T05:36:49.580Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40codat/sdk-link-types
原文对照：https://npmcn.com/package/%40codat/sdk-link-types/?lang=original

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

- 包体积（解压后）：46.3 kB，26 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2023-10-27T12:48:53.986Z
- 最新版本发布：2026-10-26T15:29:49.158Z
- 近 30 天下载量：13982（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：25（近 12 个月 7 个）

## 中文简介

此套件包含类型定义并初始化了用于动态导入的 Codat SDKs 的辅助方法: 嵌入式链接、 连接和 Bank Feed .

## 安装

```sh
npm install @codat/sdk-link-types
```

也可以使用：`pnpm add @codat/sdk-link-types`、`yarn add @codat/sdk-link-types`、`bun add @codat/sdk-link-types`

## README

此套件包含类型定义并初始化了用于动态导入的 Codat SDKs 的辅助方法: 嵌入式链接、 连接和 Bank Feed .

## 安装

您可以使用 npm 安装此库 :

```console
$ npm i -S @codat/sdk-link-types
```

## 使用量

### 嵌入式链接

制作 `CodatLink` 反应中的组件 :

```typescript
import React, { useEffect, useState } from "react";
import ReactDOM from "react-dom/client";
import { CodatLinkProps, initializeCodatLink } from "@codat/sdk-link-types";

const CodatLink: React.FC<CodatLinkProps> = (props: CodatLinkProps) => {
  const [componentMount, setComponentMount] = useState<HTMLDivElement | null>(
    null
  );

  useEffect(() => {
    const target = componentMount;
    if (target && target.children.length === 0) {
      initializeCodatLink(target, props);
    }
    // CodatLink does not support changing props after initialisation.
    // eslint-disable-next-line react-hooks/exhaustive-deps
  }, [componentMount]);

  return (
    <div
      style={{
        // Recommended dimensions
        width: "460px",
        height: "840px",
        maxHeight: "95%",
      }}
      ref={setComponentMount}
    ></div>
  );
};

const root = ReactDOM.createRoot(
  document.getElementById("root") as HTMLElement
);

root.render(
  <React.StrictMode>
    <CodatLink
      companyId="COMPANY_ID"
      onClose={() => alert("onClose")}
      onError={() => alert("onError")}
      onConnection={() => alert("onConnection")}
      onConnectionStarted={() => alert("onConnectionStarted")}
      onFinish={() => alert("onFinish")}
      options={{}}
    />
  </React.StrictMode>
);
```

### 连接

制作 `CodatConnections` 反应中的组件 :

```typescript
import React, { useEffect, useState } from "react";
import ReactDOM from "react-dom/client";
import {
  CodatConnectionsProps,
  initCodatConnections,
} from "@codat/sdk-link-types/connections";

const CodatConnections: React.FC<CodatConnectionsProps> = (
  props: CodatConnectionsProps
) => {
  const [componentMount, setComponentMount] = useState<HTMLDivElement | null>(
    null
  );

  useEffect(() => {
    const target = componentMount;
    if (target && target.children.length === 0) {
      initCodatConnections(target, props);
    }
    // CodatConnections does not support changing props after initialization.
    // eslint-disable-next-line react-hooks/exhaustive-deps
  }, [componentMount]);

  return (
    <div
      style={{
        // Recommended dimensions
        width: "460px",
        height: "840px",
        maxHeight: "95%",
      }}
      ref={setComponentMount}
    ></div>
  );
};

const root = ReactDOM.createRoot(
  document.getElementById("root") as HTMLElement
);

root.render(
  <React.StrictMode>
    <CodatConnections
      accessToken="ACCESS_TOKEN"
      onClose={() => alert("onClose")}
      onError={() => alert("onError")}
      onDisconnect={() => alert("onDisconnect")}
      onReconnect={() => alert("onReconnect")}
      options={{}}
    />
  </React.StrictMode>
);
```

### 银行种子

制作 `CodatBankFeeds` 反应中的组件 :

```typescript
import React, { useEffect, useState } from "react";
import ReactDOM from "react-dom/client";
import {
  CodatBankFeedsProps,
  initCodatBankFeeds,
} from "@codat/sdk-link-types/bank-feeds";

const CodatBankFeeds: React.FC<CodatBankFeedsProps> = (
  props: CodatBankFeedsProps
) => {
  const [componentMount, setComponentMount] = useState<HTMLDivElement | null>(
    null
  );

  useEffect(() => {
    const target = componentMount;
    if (target && target.children.length === 0) {
      initCodatBankFeeds(target, props);
    }
    // CodatBankFeeds does not support changing props after initialisation.
    // eslint-disable-next-line react-hooks/exhaustive-deps
  }, [componentMount]);

  return (
    <div
      style={{
        // Recommended dimensions
        width: "460px",
        height: "840px",
        maxHeight: "95%",
      }}
      ref={setComponentMount}
    ></div>
  );
};

const root = ReactDOM.createRoot(
  document.getElementById("root") as HTMLElement
);

root.render(
  <React.StrictMode>
    <CodatBankFeeds
      accessToken="ACCESS_TOKEN"
      companyId="COMPANY_ID"
      onClose={() => alert("onClose")}
      onError={() => alert("onError")}
      onConnection={() => alert("onConnection")}
      onConnectionStarted={() => alert("onConnectionStarted")}
      onFinish={() => alert("onFinish")}
      options={{}}
    />
  </React.StrictMode>
);
```

[参见我们的例子](https://github.com/codatio/sdk-link/tree/main/examples) 与其他语言建立关系.

## 文档

有关更多信息, [见我们的文件](https://docs.codat.io/auth-flow/authorize-embedded-link)

## 常见问题

### @codat/sdk-link-types 是什么？

此套件包含类型定义并初始化了用于动态导入的 Codat SDKs 的辅助方法: 嵌入式链接、 连接和 Bank Feed \.

### 如何安装 @codat/sdk-link-types？

在项目目录运行 npm install @codat/sdk-link-types，或使用 pnpm add / yarn add / bun add。

### @codat/sdk-link-types 支持 TypeScript 吗？

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

### @codat/sdk-link-types 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @codat/sdk-link-types 可以商用吗？

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

### @codat/sdk-link-types 的下载量有多少？

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

### @codat/sdk-link-types 还在维护吗？

最新版本 1\.16\.0 发布于 2026/10/26（14 天前）；至今共发布 25 个版本，其中过去 12 个月发布了 7 个；首次发布于 2023/10/27。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

