# @bbc/psammead-consent-banner 中文文档

规范地址：https://npmcn.com/package/%40bbc/psammead-consent-banner/

版本：5\.5\.15
npm 元数据更新时间：2026-04-16T10:53:51.709Z
中文译文更新时间：2026-11-07T18:59:03.455Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40bbc/psammead-consent-banner
原文对照：https://npmcn.com/package/%40bbc/psammead-consent-banner/?lang=original
项目主页：https://github.com/bbc/psammead/blob/latest/packages/components/psammead-consent-banner/README.md
源码仓库：https://github.com/bbc/psammead/tree/latest/packages/components/psammead-consent-banner

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

- 包体积（解压后）：153 kB，9 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- 运行依赖：2 个
- peer 依赖：react \>=16\.9\.0，prop-types ^15\.7\.2，@emotion/styled ^11\.0\.0
- 首次发布：2019-06-25T11:25:27.830Z
- 最新版本发布：2022-03-30T12:44:16.704Z
- 近 30 天下载量：4275（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：99（近 12 个月 0 个）

## 中文简介

用于“同意标签”的后置组件

## 安装

```sh
npm install @bbc/psammead-consent-banner
```

也可以使用：`pnpm add @bbc/psammead-consent-banner`、`yarn add @bbc/psammead-consent-banner`、`bun add @bbc/psammead-consent-banner`

## README

# psammead - 同意 - 班纳 - [![Known Vulnerabilities](https://snyk.io/test/github/bbc/psammead/badge.svg?targetFile=packages%2Fcomponents%2Fpsammead-consent-banner%2Fpackage.json)](https://snyk.io/test/github/bbc/psammead?targetFile=packages%2Fcomponents%2Fpsammead-consent-banner%2Fpackage.json) [![Dependency Status](https://david-dm.org/bbc/psammead.svg?path=packages/components/psammead-consent-banner)](https://david-dm.org/bbc/psammead?path=packages/components/psammead-consent-banner) [![peerDependencies Status](https://david-dm.org/bbc/psammead/peer-status.svg?path=packages/components/psammead-consent-banner)](https://david-dm.org/bbc/psammead?path=packages/components/psammead-consent-banner&type=peer) [![Storybook](https://raw.githubusercontent.com/storybooks/brand/master/badge/badge-storybook.svg?sanitize=true)](https://bbc.github.io/psammead/?path=/story/consent-banner--default) [![GitHub license](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/bbc/psammead/blob/latest/LICENSE) [![npm version](https://img.shields.io/npm/v/@bbc/psammead-consent-banner.svg)](https://www.npmjs.com/package/@bbc/psammead-consent-banner) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/bbc/psammead/blob/latest/CONTRIBUTING.md)

## 说明

这个 `psammead-consent-banner` 组件为样式 `div` 包含关于隐私和饼干政策的信息 该部分还有两种选择,用户可以接受这一政策或被引导到一个网页上,并提供有关数据政策的补充资料.

## 安装

`npm install @bbc/psammead-consent-banner`

## 道具

| 参数 | 类型 | 需求 | 默认 | 示例 |
| --- | --- | --- | --- | --- |
| 标题 | 字符串 | 对 | 不详 | `We've updated our Privacy and Cookies Policy` |
| 文本 | 元素 | 对 | 不详 | `<ConsentBannerText script={script}> This is some text</ConsentBannerText>` |
| 接受 | 元素 | 对 | 不详 | `<button type="button">Accept</button>` |
| 拒绝 | 元素 | 对 | 不详 | `<a href="https://www.bbc.co.uk/usingthebbc/your-data-matters">Find out what's changed</a>` |
| 编号 | 字符串 | 没有 | 无 | `ConsentBanner` |
| 隐藏 | 嘘 | 没有 | 无 | `false` |
| 目录 | 字符串 | 没有 | `'ltr'` | 一个 `'rtl'` `'ltr'` |
| 脚本 | 脚本 | 对 | 不详 | {可以指: {可以指: {可以指: {可以指: {可以指: {可以指: {可以指: {可以指: {可以指: {可以指: {可以指: {可以指: {可以指: {可以指: {可以指: {可以指: |
| 服务 | 字符串 | 对 | 不详 | `'news'` |
| 注释 | [参考文献](https://reactjs.org/docs/refs-and-the-dom.html) | 没有 | `null` | `useRef(null)` |

## 使用量

此组件的典型用例位于所有页面类型的网页上. 它对新用户来说是可见的.

这个 `headingRef` 使用道具是为了使同意横幅的标题能够出于无障碍的原因在方案上得到重点。 此校正将指定为 HTML 标题元素, 该标题元素可以使用 DOM API 聚焦 : `headingRef.current.focus()`。 。 。 .

```jsx
import { ConsentBanner, ConsentBannerText } from '@bbc/psammead-consent-banner';
import { latin } from '@bbc/gel-foundations/scripts';

const Accept = (
  <button onClick={() => {}} type="button">
    OK
  </button>
);

const Reject = (
  <a href="https://www.bbc.co.uk/usingthebbc/your-data-matters">
    Find out what&apos;s changed
  </a>
);

const Text = (
  <ConsentBannerText dir="ltr" script={latin} service="news">
    This is some text with <a href="https://www.bbc.com/news">a link</a> inside
    the consent banner. We have made some important changes to our Privacy and
    Cookie Policy.
  </ConsentBannerText>
);

const props = {
  dir: 'ltr',
  title: 'We have updated our Privacy and Cookies Policy',
  text: Text,
  accept: Accept,
  reject: Reject,
  id: null,
  hidden: false,
  script: latin,
  service: 'news',
};

<ConsentBanner {...props} />;
```

## 捐款

Psammead完全开源. 我们感谢任何贡献,无论是新的组件、错误修正还是总体改进。 请参看我们的主要贡献指南,可查阅: [psammead 仓库的根](https://github.com/bbc/psammead/blob/latest/CONTRIBUTING.md)。 。 。 .

### [行为守则](https://github.com/bbc/psammead/blob/latest/CODE_OF_CONDUCT.md)

我们欢迎对这项工作的反馈和帮助。 通过参与这个项目,你同意遵守 [行为守则](https://github.com/bbc/psammead/blob/latest/CODE_OF_CONDUCT.md)请稍候再读一下.

### 许可证

萨姆米德 [Apache 2.0 许可](https://github.com/bbc/psammead/blob/latest/LICENSE)。 。 。 .

## 常见问题

### @bbc/psammead-consent-banner 是什么？

用于“同意标签”的后置组件

### 如何安装 @bbc/psammead-consent-banner？

在项目目录运行 npm install @bbc/psammead-consent-banner，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（\>=16\.9\.0）、prop-types（^15\.7\.2）、@emotion/styled（^11\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @bbc/psammead-consent-banner 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/bbc\_\_psammead-consent-banner 是否存在。

### @bbc/psammead-consent-banner 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @bbc/psammead-consent-banner 可以商用吗？

@bbc/psammead-consent-banner 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @bbc/psammead-consent-banner 的下载量有多少？

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

### @bbc/psammead-consent-banner 还在维护吗？

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

