当前位置:首页 > React

react如何展示html

2026-01-23 19:38:52React

渲染原始 HTML

在 React 中直接渲染原始 HTML 需要使用 dangerouslySetInnerHTML 属性。该属性接收一个对象,其中 __html 键对应的值是需要渲染的 HTML 字符串。

function DisplayHTML({ htmlContent }) {
  return <div dangerouslySetInnerHTML={{ __html: htmlContent }} />;
}

清理 HTML 内容

为了防止 XSS 攻击,建议在渲染前使用 DOMPurify 等库清理 HTML 内容:

import DOMPurify from 'dompurify';

function SafeHTML({ htmlContent }) {
  const cleanHTML = DOMPurify.sanitize(htmlContent);
  return <div dangerouslySetInnerHTML={{ __html: cleanHTML }} />;
}

替代方案

对于简单的 HTML 片段,可以考虑手动解析并转换为 React 元素:

function parseSimpleHTML(html) {
  return html.replace(/<b>(.*?)<\/b>/g, '<strong>$1</strong>');
}

function SimpleHTMLRenderer({ html }) {
  return <div>{parseSimpleHTML(html)}</div>;
}

注意事项

使用 dangerouslySetInnerHTML 时需要注意:

  • 仅渲染可信来源的内容
  • 避免直接渲染用户输入的内容
  • 考虑使用 CSP 等安全措施
  • 对于复杂 HTML 可能需要配合其他库处理

服务端渲染场景

在 Next.js 等框架中,可以结合 dangerouslySetInnerHTML 与 SSR:

export default function Page({ serverData }) {
  return (
    <main>
      <article dangerouslySetInnerHTML={{ __html: serverData.content }} />
    </main>
  );
}

react如何展示html

标签: reacthtml
分享给朋友:

相关文章

react如何取消渲染

react如何取消渲染

取消渲染的方法 在React中,取消渲染通常指阻止组件在特定条件下进行不必要的渲染。可以通过以下几种方式实现: 条件渲染 使用条件语句(如if或三元运算符)直接返回null,避免渲染组件内容。例如…

如何生成react代码

如何生成react代码

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

如何降低react版本

如何降低react版本

降低 React 项目版本的步骤 检查当前 React 版本 运行以下命令查看项目中安装的 React 当前版本: npm list react 或 yarn list react 修改…

如何手写一个react

如何手写一个react

手写一个简单的 React 创建一个基础的 React 实现需要理解其核心概念:虚拟 DOM、组件、状态管理和渲染。以下是一个简化版的 React 实现。 创建虚拟 DOM 虚拟 DOM 是真实 D…

如何选购react

如何选购react

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

react如何查

react如何查

React 查询方法 React 提供了多种查询 DOM 元素的方式,以下是几种常见的方法: 使用 ref 通过 useRef 钩子可以获取 DOM 节点的引用,适用于直接操作 DOM 的场景。…