@cds/react

中文文档
6.16.1发布于 2025/08/08MITTypeScriptES Module近 30 天下载 2507

清晰反应的核心组件模块

中文使用文档

Core Web 组件的清晰反应收发器 npm version

Clearty Core是Web组件的套件,来自 清晰设计系统。因为反应 与自定义元素不完全互通 我们开发了这个 React 组件库,将清晰的 Web 组件包起来

安装

  1. (可选):从 npm 安装 Clarity 核心包.

    npm install @cds/core --save
    
  2. 从 npm 安装 Clarity 反应包 .

    npm install @cds/react --save
    
  3. 将想要的组件导入到您的 JavaScript 或 TypeScript

    import { CdsModal, CdsModalActions, CdsModalContent, CdsModalHeader } from '@cds/react/modal';
    
  4. 在 React 中使用 resact 包裹的 Web 组件

    {
      /*
      Example of a modal web component in React with React Shim
      - size - attribute style hook
      - open - setting the 'open' property on the element
      - openChange - listen for the `openChange` custom event
    */
    }
    <CdsModal onCloseChange={this.handleCloseModalClick.bind(this, false)}>
      <CdsModalHeader>
        <h3 cds-text="title">My Modal</h3>
      </CdsModalHeader>
      <CdsModalContent>
        <div cds-layout="vertical gap:md p-y:xs">
          <p cds-text="body">Lorem Ipsum</p>
        </div>
      </CdsModalContent>
      <CdsModalActions>
        <div cds-layout="horizontal gap:sm align:right">
          <CdsButton onClick={this.handleCloseModalClick.bind(this, false)} action="outline">
            Cancel
          </CdsButton>
          <CdsButton onClick={this.handleCloseModalClick.bind(this, false)}>Ok</CdsButton>
        </div>
      </CdsModalActions>
    </CdsModal>;
    

使用裁判

在反应中 参考 提供访问 DOM 节点或 渲染法中创建的反应元素 。 因为网络组件的生命周期 生活在反应之外 当网络组件完成渲染后,我们的组件提供了一种使用refs的方法:

import React from 'react';
import { CdsButton } from '@cds/react/button';

export default class App extends React.Component<{}, {}> {
  buttonRef: React.RefObject<CdsButton>;

  constructor(props: any) {
    super(props);
    this.buttonRef = React.createRef<CdsButton>();
  }

  componentDidMount() {
    this.buttonRef.current.nativeElement.then(element => {
      element.focus();
    });
  }

  render() {
    return (
      <div>
        <CdsButton ref={this.buttonRef}>My button</CdsButton>
      </div>
    );
  }
}

版本与发布记录

@cds/react 共发布 96 个版本,首次发布于 2020/12/03;过去 12 个月发布了 0 个版本。

版本发布日期距今
6.16.1latest2025/08/081.3 年前
6.16.02025/07/211.3 年前
6.15.12024/12/161.9 年前
6.15.02024/12/131.9 年前
6.14.02024/10/282 年前
6.13.02024/07/302 年前

其他发布通道:rc → 5.0.0-rc.1,next → 6.0.0-next.6,beta → 6.0.0-beta.4,release-5.x → 5.8.4。

关于 @cds/react 的常见问题

@cds/react 是什么?

清晰反应的核心组件模块

如何安装 @cds/react?

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

@cds/react 支持 TypeScript 吗?

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

@cds/react 支持 ESM 还是 CommonJS?

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

@cds/react 可以商用吗?

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

@cds/react 的下载量有多少?

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

@cds/react 还在维护吗?

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