当前位置:首页 > React

react 如何显示html

2026-02-11 19:05:52React

在 React 中显示 HTML

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

react 如何显示html

使用 dangerouslySetInnerHTML

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

react 如何显示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 或专用解析库处理。

标签: reacthtml
分享给朋友:

相关文章

如何评价react native

如何评价react native

React Native 的优势 跨平台开发效率高:基于 JavaScript 和 React 语法,可同时开发 iOS 和 Android 应用,减少重复代码量。性能接近原生:通过原生组件渲染,性能…

如何选购react

如何选购react

选购 React 相关产品或服务的建议 React 是一个用于构建用户界面的 JavaScript 库,广泛应用于前端开发。以下是选购 React 相关产品(如课程、书籍、工具、组件库等)的参考方法:…

react如何打包

react如何打包

打包 React 项目的基本步骤 React 项目通常使用 create-react-app 或类似的脚手架工具创建,这些工具内置了打包功能。以下是打包 React 项目的详细方法: 安装依赖并构建…

typescript react 如何

typescript react 如何

TypeScript 与 React 结合使用的方法 在 React 项目中使用 TypeScript 可以提升代码的可维护性和类型安全性。以下是一些关键步骤和最佳实践: 安装 TypeScript…

react如何重启

react如何重启

重启 React 应用的方法 重新加载当前页面 使用 window.location.reload() 强制刷新页面,这会重新加载整个应用并重置所有状态。 window.location…

react如何启动

react如何启动

启动 React 项目的步骤 确保已安装 Node.js React 需要 Node.js 环境运行,建议安装最新稳定版(LTS)。可通过以下命令检查是否已安装: node -v npm -v…