SVG 转 React / Vue JSX 组件转换器

将原生 SVG 代码转换为干净规范的 React (JSX/TSX) 或 Vue 3 组件。自动修正连字符为驼峰属性,支持 currentColor 与外部 props 注入。

目标格式:
组件名称:
输入原生 SVG 代码:
生成的组件代码:
</> 嵌入此工具到你的网站 / 博客 无需开发 · 复制即可使用
HTML 嵌入代码 (iframe):
<iframe src="https://lucentool.com/zh/svg-to-jsx" width="100%" height="650" style="border:1px solid #e5e0d8;border-radius:12px;max-width:850px;width:100%;" frameborder="0"></iframe>
<div style="font-size:12px;color:#78716c;margin-top:6px;font-family:sans-serif;">Powered by <a href="https://lucentool.com/zh/svg-to-jsx" target="_blank" style="color:#c85a32;text-decoration:none;">Lucentool - SVG 转 JSX / React 组件在线转换器</a></div>

为什么原生 SVG 不能直接粘贴进 React 代码中?

在 React 中,JSX 虽然语法看似 HTML,但本质上是 JavaScript 对象。React 的虚拟 DOM 解析器遵循严格的驼峰命名(camelCase)规则。原生 SVG 中含有大量中划线属性(例如 stroke-width、fill-rule),如果直接粘贴进组件,浏览器控制台会报出大量的无效 DOM 属性警告(Invalid DOM Property Warning)。

常见关键转换规则