当前位置:首页 > React

react 如何显示html

2026-03-30 22:07:07React

渲染 HTML 字符串

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

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

安全注意事项

使用 dangerouslySetInnerHTML 会绕过 React 的默认转义机制,可能导致 XSS 攻击。务必确保 HTML 字符串来源可信。

// 安全示例:仅渲染可信来源或经过清理的内容
import DOMPurify from 'dompurify';

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

替代方案

对于简单需求,可通过解析库将 HTML 字符串转换为 React 组件:

import parse from 'html-react-parser';

function ParsedHTML({ htmlString }) {
  return <div>{parse(htmlString)}</div>;
}

动态组件生成

若需根据 HTML 动态生成交互式组件,可结合状态管理实现:

react 如何显示html

function DynamicRenderer({ template }) {
  const [components, setComponents] = useState([]);

  useEffect(() => {
    const parsed = parseTemplate(template); // 自定义解析逻辑
    setComponents(parsed);
  }, [template]);

  return <div>{components}</div>;
}

标签: reacthtml
分享给朋友:

相关文章

如何开发react

如何开发react

开发React应用的基本步骤 安装Node.js和npm 确保系统中已安装Node.js(包含npm)。可通过官网下载安装包,安装后验证版本: node -v npm -v 创建React项目…

如何配置react

如何配置react

配置React项目的步骤 安装Node.js和npm 确保系统已安装Node.js(包含npm)。可通过官网下载并安装最新版本。安装完成后,运行以下命令验证版本: node -v npm -v 创建…

react如何循环

react如何循环

循环渲染列表 在React中循环渲染列表通常使用map方法,这是最常用的方式。通过map可以将数组中的每个元素转换为React元素并渲染到页面上。 const items = ['Apple', '…

react如何通信

react如何通信

React 组件通信方式 React 组件间的通信方式多样,具体选择取决于组件关系和场景需求。以下是常见方法: 父子组件通信 父组件通过 props 向子组件传递数据,子组件通过回调函数通知父组件…

react项目如何启动

react项目如何启动

启动React项目的步骤 确保已安装Node.js(建议版本12以上)和npm/yarn。可通过以下命令检查版本: node -v npm -v 全局安装create-react-app脚手架工具(…

react 如何算精通

react 如何算精通

精通 React 的标准 精通 React 不仅需要掌握基础语法和核心概念,还需具备解决复杂问题、优化性能和架构设计的能力。以下是衡量 React 精通程度的关键维度: 核心概念与机制 组件化开…