react如何引用html页面
在React中引用HTML页面可以通过以下几种方法实现:
使用iframe嵌入HTML页面
通过iframe标签直接嵌入外部HTML文件或页面,适用于需要独立加载的场景。

<iframe src="/path/to/your/file.html" title="Embedded HTML" width="100%" height="500px" />
动态加载HTML内容
使用dangerouslySetInnerHTML属性渲染HTML字符串,需注意XSS风险。

function HTMLRenderer({ htmlContent }) {
return <div dangerouslySetInnerHTML={{ __html: htmlContent }} />;
}
// 使用示例
<HTMLRenderer htmlContent="<h1>Hello World</h1>" />
通过HTTP请求获取HTML
使用fetch或axios获取HTML文件内容后渲染。
import { useState, useEffect } from 'react';
function HTMLFetcher({ url }) {
const [html, setHtml] = useState('');
useEffect(() => {
fetch(url)
.then(response => response.text())
.then(data => setHtml(data));
}, [url]);
return <div dangerouslySetInnerHTML={{ __html: html }} />;
}
// 使用示例
<HTMLFetcher url="/path/to/your/file.html" />
使用react-html-parser库
第三方库可安全解析HTML字符串为React节点。
npm install react-html-parser
import ReactHtmlParser from 'react-html-parser';
function SafeHTML({ htmlString }) {
return <div>{ReactHtmlParser(htmlString)}</div>;
}
// 使用示例
<SafeHTML htmlString="<p>Parsed safely</p>" />
注意事项
- 安全性:避免直接注入未经验证的HTML,防止XSS攻击
- 性能:大体积HTML文件建议分块加载
- 样式隔离:嵌入内容可能受父容器CSS影响,建议使用Shadow DOM或iframe隔离






