# @concord-consortium/lara-interactive-api 中文文档

规范地址：https://npmcn.com/package/%40concord-consortium/lara-interactive-api/

版本：1\.15\.0
npm 元数据更新时间：2026-10-08T08:12:29.333Z
中文译文更新时间：2026-11-14T16:16:48.618Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40concord-consortium/lara-interactive-api
原文对照：https://npmcn.com/package/%40concord-consortium/lara-interactive-api/?lang=original
项目主页：https://github.com/concord-consortium/lara/tree/master/lara-typescript/src/interactive-api-client#readme
源码仓库：https://github.com/concord-consortium/lara

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

- 包体积（解压后）：290 kB，21 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：2 个
- peer 依赖：react \>=16\.9\.0，react-dom \>=16\.9\.0
- 首次发布：2020-05-21T10:52:13.513Z
- 最新版本发布：2026-10-08T08:12:29.168Z
- 近 30 天下载量：1985（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：99（近 12 个月 16 个）

## 中文简介

LARA 交互式 API 客户端和类型

## 安装

```sh
npm install @concord-consortium/lara-interactive-api
```

也可以使用：`pnpm add @concord-consortium/lara-interactive-api`、`yarn add @concord-consortium/lara-interactive-api`、`bun add @concord-consortium/lara-interactive-api`

## README

## [API 文档](https://npmcn.com/package/%40concord-consortium/lara-interactive-api/globals.md)

一个基于TypeScript的API,用于LARA Interactive API. 这还包括共享的API的所有类型 与执行 API 的 LARA- side 的服务器侧 Typescript 文件相连接.

注:此文件(在/docs中)是自动生成的,属于 `lara-typescript` 使用 [类型文件](https://typedoc.org/) 通过将API客户端的readme文件与自动生成的输出合并. 如果您希望编辑此文档, 请编辑 `lara-typescript/src/interactive-api-client/README.md`。 。 。 .

## 安装

首先安装软件包 :

`npm i --save @concord-consortium/lara-interactive-api`

然后导入到您的代码中 :

`import * as interactiveApi from "@concord-consortium/lara-interactive-api"` 或导入必要的函数: `import { setHeight, useInteractiveState } from "@concord-consortium/lara-interactive-api"`

aPI 编译为 TypeScript 并包含输入 `.d.ts` 文件夹中的文件。 这些打字是 由 TypeScript 编译器自动加载, 因此您现在需要安装单独的 `@types/...` 软件包.

## 使用量

### API 函数

所有 Interactive API 帮助被导出为单个函数 。 例如:;

`import { setHeight, setHint, getAuthInfo } from "@concord-consortium/lara-interactive-api"`

一些功能可能接受类型,例如:. `getInteractiveState<InteractiveState>()`当更多的类型被接受, 类型变量的顺序很重要,它是 `InteractiveState`, (中文(简体) ), `AuthoredState`, (中文(简体) ), `DialogState`,以及 `IGlobalInteractiveState`。如果您想要跳过类型变量,只需使用 `{}` 位置和任何类型变量 结尾默认为 `{}`,例如:

`const getInitInteractiveMessage<IInteractiveState, {}, {}, IGlobalInteractiveState>();`

### 钩子

如果您在使用 React , 您会希望使用将 API 函数更轻松地包裹的钩子 使用表单。 钩子从头开始 `use` 前缀。 要先用钩子导入 :

`import { useInteractiveState } from "@concord-consortium/lara-interactive-api"`

然后使用您在反应组件中的类型变量调用钩子.

这里有一个很小的例子: `useInteractiveState` 钩:

```
const { interactiveState, setInteractiveState } = useInteractiveState<IInteractiveState>();
...
const handleButtonClick = () => {
  // Functional update, usually safer option:
  setInteractiveState((prevState: InteractiveState) => ({ numButtonPresses: prevState.numButtonPresses + 1 }));
  // Or regular update that can cause troubles when new state is based on the previous one:
  // setInteractiveState({ numButtonPresses: interactiveState.numButtonPresses + 1 });
}
...
<button onClick={handleButtonClick}>{interactiveState.numButtonPresses}</button>
```

呼叫电话 `setInteractiveState` 由钩子返回的方法将同时更新钩子内部的状态 也向LARA发送信息. 这意味着,打电话 `setInteractiveState` 将触发新的反应 使您 使用 `useInteractiveState` 钩.

这同样适用于其他基于国家的钩子及其起落架:

-   `useAuthoredState`
-   `useGlobalInteractiveState`

## 常见问题

### @concord-consortium/lara-interactive-api 是什么？

LARA 交互式 API 客户端和类型

### 如何安装 @concord-consortium/lara-interactive-api？

在项目目录运行 npm install @concord-consortium/lara-interactive-api，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（\>=16\.9\.0）、react-dom（\>=16\.9\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @concord-consortium/lara-interactive-api 支持 TypeScript 吗？

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

### @concord-consortium/lara-interactive-api 支持 ESM 还是 CommonJS？

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

### @concord-consortium/lara-interactive-api 可以商用吗？

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

### @concord-consortium/lara-interactive-api 的下载量有多少？

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

### @concord-consortium/lara-interactive-api 还在维护吗？

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

