一个约 4kB 的快速 React 替代库,保留相同的现代组件 API,基于 Virtual DOM。
remarkablemark/html-react-parser
将 HTML 字符串转换为 React 元素的解析库,可在 Node.js 与浏览器中使用。
- Star
- 2,431
- Fork
- 144
- 未关闭 Issue
- 12
- 最近提交
- 昨天
这是什么?
html-react-parser 可将 HTML 字符串解析为一个或多个 React 元素,适合在 React 组件中渲染来自 CMS、数据库或接口的富文本内容,无需使用 dangerouslySetInnerHTML。它同时支持服务端(Node.js)和浏览器端,也提供 UMD 格式的 CDN 引入方式。
解析函数接受可选的配置对象。replace 选项可将指定的 DOM 节点替换为自定义 React 元素,并配合 domToReact、attributesToProps 等工具处理子节点与属性;transform 选项可对每个解析后的元素做二次处理;library 选项可将 React 替换为 Preact 或自定义 UI 库。此外还支持 trim 去除空白、服务端的 htmlparser2 参数,以及浏览器 Trusted Types 策略。
该库本身不会清理 HTML,因此并非 XSS 安全。处理不可信来源的内容时,需要自行净化,或配合内容安全策略(CSP)与 Trusted Types 使用。
核心功能
- 01将 HTML 字符串转换为可直接在组件中渲染的 React 元素。
- 02同时支持 Node.js 服务端渲染与浏览器端使用。
- 03replace 选项可将匹配的 DOM 节点替换为自定义 React 元素。
- 04transform 选项可在转换后逐个修改元素。
- 05通过 library 选项可替换为 Preact 或自定义 UI 库。
- 06提供 trim 去除空白及 htmlparser2 解析参数设置。
适用场景
- 在 React 应用中渲染来自 CMS 或 Markdown 流程的 HTML 内容。
- 渲染时将内嵌的链接、图片等标签替换为 React 组件。
- 在 Node.js 的 React 应用中对 HTML 片段进行服务端渲染。
快速上手
- 1
通过 npm 安装
npm install html-react-parser --save - 2
导入并解析 HTML 字符串
使用前须知
- 不能防止 XSS 攻击,README 明确说明不会对 HTML 进行净化。
- 不会对无效 HTML 进行净化。
- htmlparser2 选项仅在服务端(Node.js)生效,在浏览器中无效。
标签
常见问题
- html-react-parser 是什么?
- 将 HTML 字符串转换为 React 元素的解析库,可在 Node.js 与浏览器中使用。 html-react-parser 可将 HTML 字符串解析为一个或多个 React 元素,适合在 React 组件中渲染来自 CMS、数据库或接口的富文本内容,无需使用 dangerouslySetInnerHTML。它同时支持服务端(Node.js)和浏览器端,也提供 UMD 格式的 CDN 引入方式。
- html-react-parser 可以免费使用吗?用的什么许可证?
- html-react-parser 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- html-react-parser 还在维护吗?
- 活跃维护中。html-react-parser 最近一次提交是在 2026年11月6日。
- html-react-parser 适合用来做什么?
- 在 React 应用中渲染来自 CMS 或 Markdown 流程的 HTML 内容。 渲染时将内嵌的链接、图片等标签替换为 React 组件。 在 Node.js 的 React 应用中对 HTML 片段进行服务端渲染。
- html-react-parser 怎么安装和运行?
- 通过 npm 安装: npm install html-react-parser --save 导入并解析 HTML 字符串
- 在哪里获取 html-react-parser?
- 源代码和安装说明在 GitHub 上:https://github.com/remarkablemark/html-react-parser
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
用于构建交互式用户界面的 JavaScript 库,基于可组合的组件开发。
一个声明式 JavaScript UI 库,通过细粒度响应式直接更新真实 DOM,不使用 Virtual DOM。
一个 JavaScript 工具库,提供 each、map、reduce、filter 等函数式辅助方法,且不扩展原生对象。
零依赖的 JavaScript 工具库,包含 400 多个可独立引入的小模块,覆盖日常开发常见需求。
可直接复制粘贴使用的 React PDF 组件,基于 Takumi 和 Forme 构建,兼容 shadcn/ui。