当前位置:首页 > React

react 如何显示html

2026-02-11 19:05:52React

在 React 中显示 HTML

React 默认会将所有内容作为字符串处理,直接渲染 HTML 字符串可能会导致安全问题(如 XSS 攻击)。以下是几种安全显示 HTML 的方法:

使用 dangerouslySetInnerHTML

React 提供了 dangerouslySetInnerHTML 属性来直接插入 HTML,但需谨慎使用以避免安全风险。

function DisplayHTML() {
  const htmlString = '<p>This is <strong>HTML</strong> content</p>';

  return <div dangerouslySetInnerHTML={{ __html: htmlString }} />;
}

使用第三方库

一些库如 html-react-parser 可以安全地解析和渲染 HTML 字符串:

npm install html-react-parser
import parse from 'html-react-parser';

function DisplayHTML() {
  const htmlString = '<p>Parsed HTML content</p>';
  return <div>{parse(htmlString)}</div>;
}

手动清理 HTML

使用 DOMPurify 等库清理 HTML 后再渲染:

npm install dompurify
import DOMPurify from 'dompurify';

function DisplayHTML() {
  const dirtyHtml = '<p>Unsafe <script>alert("xss")</script> HTML</p>';
  const cleanHtml = DOMPurify.sanitize(dirtyHtml);

  return <div dangerouslySetInnerHTML={{ __html: cleanHtml }} />;
}

注意事项

  • 直接渲染用户提供的 HTML 存在安全风险,务必使用清理工具。
  • 对于静态可信内容,dangerouslySetInnerHTML 是简单直接的解决方案。
  • 动态内容推荐结合 DOMPurify 或专用解析库处理。

react 如何显示html

标签: reacthtml
分享给朋友:

相关文章

如何生成react代码

如何生成react代码

使用 Create React App 生成项目 安装 Node.js 后,通过命令行工具运行以下命令创建新项目: npx create-react-app my-app cd my-app np…

react 如何引入jquery

react 如何引入jquery

引入 jQuery 到 React 项目 在 React 项目中引入 jQuery 可以通过多种方式实现,但需要注意 React 和 jQuery 操作 DOM 的方式可能冲突,因此建议仅在必要时使用…

如何下载react

如何下载react

下载 React 的方法 通过 npm 或 yarn 安装 React 可以通过包管理器 npm 或 yarn 安装。确保已安装 Node.js(包含 npm),然后在项目目录中运行以下命令:…

react如何部署

react如何部署

部署 React 应用的常见方法 使用静态服务器部署 React 应用在构建后会生成静态文件,可以直接通过静态服务器部署。常用的静态服务器包括 Nginx、Apache 等。 运行构建命令生成静态…

react如何运行

react如何运行

运行React项目的步骤 安装Node.js 确保系统已安装Node.js(建议版本12以上),可从官网下载并安装。Node.js自带npm包管理器,用于后续依赖安装。 创建React项目 使用官…

react如何diff

react如何diff

React Diff 算法原理 React 的 Diff 算法是 Virtual DOM 的核心部分,用于高效更新真实 DOM。其核心思想是通过对比新旧 Virtual DOM 树的差异,最小化 DO…