@cometchat/cards-react-native

中文文档
1.0.0发布于 2026/05/27MITTypeScriptCommonJS零依赖近 30 天下载 9134

反应原生的彗星Chat Card Schema 渲染器——将 Card Schema JSON 转换为原生视图

中文使用文档
文档目录9 节
  1. 它会做什么
  2. 安装
  3. 使用量
  4. 道具
  5. 他们
  6. 行动
  7. 容器样式
  8. 无依赖
  9. 再来

@cometchat/cards- react-inative (英语)

彗星卡Schema的回放原生渲染器. 传入名片JSON,取回一棵本土取景树. 交互式元素的磁带通过一个回调程序向您的应用程序发射——软件包从不执行动作本身.

它会做什么

  • 将卡片 Schema JSON 切入打入型号
  • 渲染20个元素类型(文本、图像、图标、相机、徽章、分隔器、空间器、芯片、进步栏、代码Block、标记下、行、列、网格、手风琴、分页、按钮、图标按钮、链接、表格)
  • 决定认识到主题颜色和图像 URL auto, (中文(简体) ), light,以及 dark 模式,可选主题覆盖
  • 点击按钮、图标按钮和链接 onAction 以键入方式调用 CometChatCardActionEvent编号

包裹是一个纯粹的渲染器. 它不与"彗星Chat SDK"对话,不管理信息生命周期,也不知道你的应用的导航. 每个动作都由你决定.

安装

npm install @cometchat/cards-react-native

同伴依赖关系 (必须是在您的项目):

{
  "react": ">=18.0.0",
  "react-native": ">=0.76.0"
}

使用量

import { CometChatCardView } from '@cometchat/cards-react-native';

function CardScreen({ cardJson }: { cardJson: string }) {
  return (
    <CometChatCardView
      cardJson={cardJson}
      themeMode="auto"
      onAction={(event) => {
        // Handle the action — navigate, send a message, open a URL, etc.
        console.log(`action: ${event.action.type} from ${event.elementId}`);
      }}
    />
  );
}

道具

Prop类型默认说明
cardJsonstring—— 说卡片Schema JSON字符串( 需要)
themeMode'auto' | 'light' | 'dark''auto'主题模式. auto 遵循设备系统主题.
onAction(event: CometChatCardActionEvent) => void—— 说当用户使用带有有效动作的互动元素时, 调用已启动
onContainerStyle(style: CometChatCardResolvedContainerStyle) => void—— 说表示卡片的解析容器样式(背景、边框Radius、垫板等),供消费者向母包申请
themeOverrideCometChatCardThemeOverride—— 说覆盖默认主题符号( 颜色, 打印)
logLevel'none' | 'error' | 'warning' | 'verbose''warning'控制内部记录动词

他们

当JSON省略颜色时,渲染器会倒回内置的默认主题. 要推翻默认,请通过 themeOverride数字 :

<CometChatCardView
  cardJson={cardJson}
  themeMode="dark"
  themeOverride={{
    textColor: { light: '#141414', dark: '#F5F5F5' },
    buttonFilledBg: { light: '#1A73E8', dark: '#8AB4F8' },
  }}
/>

任意 ColorValue 计划是解决 light 或者说 dark 基于有效主题模式的变量.

行动

当用户点击时 button, (中文(简体) ), iconButton,或 link,软件包引用 onAction 带有 CometChatCardActionEvent 包含:

  • action ——全动作对象(类型+所有参数)
  • elementId 被窃听元素的编号
  • cardJson - 动作来自JSON的卡片

支持的行动类型 : openUrl, (中文(简体) ), copyToClipboard, (中文(简体) ), downloadFile, (中文(简体) ), apiCall, (中文(简体) ), chatWithUser, (中文(简体) ), chatWithGroup, (中文(简体) ), sendMessage, (中文(简体) ), initiateCall, (中文(简体) ), customCallback。 。 。 .

如果你不通过 onAction水龙头被忽略了.

容器样式

这个 onContainerStyle 调用后释放卡片根容器样式, 颜色已经为当前主题模式解决 :

const [bubbleStyle, setBubbleStyle] = useState({});

<View style={bubbleStyle}>
  <CometChatCardView
    cardJson={cardJson}
    themeMode="auto"
    onContainerStyle={(style) => setBubbleStyle({
      backgroundColor: style.background,   // already resolved hex string
      borderRadius: style.borderRadius,
      borderColor: style.borderColor,
    })}
  />
</View>

这在将卡片嵌入到信息泡中时是有用的——气泡包可以匹配卡片的视觉设置.

无依赖

该套件除了React和React Introduct之外,没有运行时间依赖性. 图像加载使用 RN 内置 <Image>,动画使用 Animated,可使用自定义内置解析器来解析标记,而闪光的占位符则使用本地视图来解析.

再来

见 CardRendererDemo/ 用于可运行样品的应用程序和用于全面参考计划的设计文件.

版本与发布记录

@cometchat/cards-react-native 共发布 1 个版本,首次发布于 2026/05/27;过去 12 个月发布了 1 个版本。

版本发布日期距今
1.0.0latest2026/05/275 个月前

关于 @cometchat/cards-react-native 的常见问题

@cometchat/cards-react-native 是什么?

反应原生的彗星Chat Card Schema 渲染器——将 Card Schema JSON 转换为原生视图

如何安装 @cometchat/cards-react-native?

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

@cometchat/cards-react-native 支持 TypeScript 吗?

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

@cometchat/cards-react-native 支持 ESM 还是 CommonJS?

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

@cometchat/cards-react-native 可以商用吗?

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

@cometchat/cards-react-native 的下载量有多少?

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

@cometchat/cards-react-native 还在维护吗?

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