@bible-strong/avatar-react

中文文档
0.1.0发布于 2026/08/18AGPL-3.0-onlyTypeScriptES Module近 30 天下载 9098

反应19出"圣经""强"(Strong programme avatars)的渲染器.

中文使用文档
文档目录7 节
  1. 安装
  2. 推荐参考
  3. 定义和播放
  4. 列报
  5. 播放回调
  6. 强制 API
  7. 有型钩子

@bible-strong/avatar-反应

反应19 出一个经验证的"圣经坚固" AvatarDefinition。反应和反应 DOM 19 是对等的 依赖关系; @bible-strong/avatar-core 以正常依赖方式安装.

安装

pnpm add @bible-strong/avatar-react react react-dom

在应用程序入口处导入软件包样式表一次 :

import { Avatar, type AvatarController } from '@bible-strong/avatar-react'
import type { AvatarDefinition } from '@bible-strong/avatar-core'
import '@bible-strong/avatar-react/styles.css'
import { useRef } from 'react'

export function Assistant({ definition }: { definition: AvatarDefinition }) {
  const avatar = useRef<AvatarController>(null)
  return (
    <>
      <Avatar ref={avatar} definition={definition} defaultAnimation="idle" />
      <button onClick={() => avatar.current?.play('happy')}>Play happy</button>
      <button onClick={() => avatar.current?.setExpression('neutral')}>Neutral</button>
    </>
  )
}

对于与 JSON 定义相联的可重复使用组件,使用 createAvatar它验证了 定义一次,当 JSON 静态键入时,缩小 animation, (中文(简体) ), defaultAnimation, (中文(简体) ), expression 财务报告和审定财务报表 defaultExpression 该定义中的语义键:

import { createAvatar } from '@bible-strong/avatar-react'
import avatarJson from './strobi.avatar.json'

const StrobiAvatar = createAvatar(avatarJson)

export function Strobi() {
  return <StrobiAvatar defaultAnimation="idle" />
}

在运行时获取的定义由同一工厂验证,但其密钥必然是 在运行时选中, 而不是由 TypeScript 推断 .

play 财务报告和审定财务报表 setExpression 返回时 { ok: true } 键入错误 unknown_animation, (中文(简体) ), unknown_expression 或者说 controlled_by_props。 。 。 . pause 冻结精确 时间位置, 呼叫 play 用被暂停的密钥恢复它,并且 stop 返回一个 无控制的外形 neutral。 。 。 .

推荐参考

Avatar 曝光打入的定义道具,回放状态和演示文稿. AnimationKey 财务报告和审定财务报表 ExpressionKey 是提供定义中的语义字符串键.

定义和播放

Prop类型默认行为
definitionAvatarDefinition所需经费经验证的JSON定义包含要渲染的表达和动画.
animationAnimationKey | undefined—— 说控制了时间 每个步骤选择显示的表达式。 相互独占 expression。 。 。 .
expressionExpressionKey | undefined—— 说控制了直接表达 相互排斥 animation。 。 。 .
defaultAnimationAnimationKey | undefined—— 说初始控制时间,在挂载时读取. 默认启用自动播放 。 相互独占 defaultExpression。 。 。 .
defaultExpressionExpressionKey | undefined—— 说初始无控制表达式, 在挂载时读取而不启动时间段 。 相互独占 defaultAnimation。 。 。 .
autoplayboolean | undefinedtrue开始 defaultAnimation 自动。 没有它就没有效果 defaultAnimation。 。 。 .
refRef<AvatarController> | undefined—— 说揭示了下文所述的当务之急.

animation 财务报告和审定财务报表 expression 是两个不同的真相来源。 传出两个错误; 元件从不默不作声地凌驾于其中之一。 受控目标优先 故意混合时不受控制的违约.

列报

Prop类型默认行为
sizenumber | string | undefined240数字或 CSS 值应用于包装宽度和高度 .
classNamestring | undefined—— 说CSS课加到外包装上.
styleCSSProperties | undefined—— 说外包装的内置样式. width 财务报告和审定财务报表 height 来自 size。 。 。 .
ariaLabelstring | undefinedProcedural avatar为屏幕阅读器宣布了无障碍名称 .

播放回调

Prop类型接收
onAnimationEnd(animation: AnimationKey) => void一个键 once 动画自然完成时.
onExpressionChange(expression: ExpressionKey) => void当显示表达式改变时, 语义表达式键 .
onError(error: AvatarRuntimeError) => void通过道具提供的未知动画或表达键.

未知的密钥经过 animation, (中文(简体) ), expression, (中文(简体) ), defaultAnimation 或者说 defaultExpression 报告 onError。没有错误处理器,组件会写入输入的运行时间错误 给开发者控制台,而不是默默地失败.

强制 API

传出 a ref 接收 AvatarController。当按钮、事件或其他需要时使用 源头需要驱动一个不受控制的外观:

方法类型行为
play(animation)(animation: AnimationKey) => AvatarCommandResult启动动画或恢复其暂停位置.
pause()() => void冻结准确的时间线位置.
stop()() => void停止播放并重置一个不受控制的外观 neutral。 。 。 .
setExpression(expression)(expression: ExpressionKey) => AvatarCommandResult直接显示一个表达式.
getState()() => AvatarPlaybackState回返 activeAnimation?, (中文(简体) ), activeExpression 财务报告和审定财务报表 status。 。 。 .

play 财务报告和审定财务报表 setExpression 返回时 { ok: true } 或者说 { ok: false, error }。错误包括: unknown_animation, (中文(简体) ), unknown_expression 财务报告和审定财务报表 controlled_by_props时 animation 或者说 expression 由道具控制,使用这些道具改变目标;必须的目标 命令不能替换父值.

定义经验证后,每件不可改变的对象参考一次,并在 参考内容有变化.

有型钩子

样式表显示 .bs-avatar 财务报告和审定财务报表 .bs-avatar__svg消费者 className 财务报告和审定财务报表 style 为: 适用于外包装.

公共组件从未曝光工作室ID或文档类型. 软件包跟随语义 发相. 虽然它仍然低于 1.0.0,打破 API 更改小版本的增量 校正补丁版本.

版本与发布记录

@bible-strong/avatar-react 共发布 1 个版本,首次发布于 2026/08/18;过去 12 个月发布了 1 个版本。

版本发布日期距今
0.1.0latest2026/08/182 个月前

关于 @bible-strong/avatar-react 的常见问题

@bible-strong/avatar-react 是什么?

反应19出"圣经""强"(Strong programme avatars)的渲染器.

如何安装 @bible-strong/avatar-react?

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

@bible-strong/avatar-react 支持 TypeScript 吗?

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

@bible-strong/avatar-react 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@bible-strong/avatar-react 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.12.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@bible-strong/avatar-react 可以商用吗?

@bible-strong/avatar-react 使用 AGPL-3.0-only 许可。最严格的 Copyleft:除分发外,通过网络向用户提供基于它的服务也需要开源对应源码。闭源 SaaS 使用前务必评估。以上为概括,不构成法律意见,请以许可原文为准。

@bible-strong/avatar-react 的下载量有多少?

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

@bible-strong/avatar-react 还在维护吗?

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