关于此工具
SVG 转 JSX 组件工具可将原始 SVG 标记转换为整洁的 React 组件,方式与 SVGR 类似,但完全在你的浏览器中进行,不上传任何内容。粘贴从设计工具导出的图标,即可获得可导入并设置样式的组件。它用 DOMParser 解析 SVG,并在标记格式错误时报告清晰的错误。
每个带连字符或命名空间的 SVG 属性都会转为其 React 名称的驼峰式——stroke-width 转为 strokeWidth,fill-rule 转为 fillRule,clip-path 转为 clipPath,stop-color 转为 stopColor,xlink:href 转为 xlinkHref,xmlns:xlink 转为 xmlnsXlink——而 data-* 和 aria-* 属性保持原样。内联样式字符串变为样式对象,像 path 和 circle 这样的空元素会自闭合,props 会展开到根 <svg {...props}> 上,使组件保持可配置。可选开关让你用 currentColor 替换硬编码的 fill 和 stroke 值(使图标继承文本颜色),去除 width 和 height 使其缩放至容器大小,并用 forwardRef 包裹组件以暴露底层的 <svg> 节点。
可选择 JavaScript 或 TypeScript 输出:TypeScript 变体将 props 类型标注为 React.SVGProps<SVGSVGElement>,在启用 forwardRef 时使用 forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>。组件以导出的箭头函数形式输出(export const Icon = (props) => (...)),带有你所选的名称和缩进,可直接粘贴到图标模块中。