Convertidor de SVG a componente de React JSX
Guía
Convertidor de SVG a componente de React JSX
Pegar el marcado raw de SVG y obtener un componente funcional de React limpio de vuelta. La herramienta aplica una conversión determinística a camelCase para cada atributo, elimina sintaxis no JSX y envuelve el resultado en un componente listo para importar — opcionalmente tipado, opcionalmente forwardRef-envuelto y opcionalmente redimensionado mediante propiedades. Todo funciona localmente en tu navegador, así que tus iconos y logotipos nunca abandonan tu máquina.
Cómo Usar
- Pegar el completo
<svg>…</svg>marcado en la caja de entrada. - Establecer un nombre de componente (PascalCase, como
ArrowRightIcon). - Alternar TypeScript,
forwardRef, propiedades de tamaño escalable y la propagación de propiedades para adaptarse a tu proyecto. - Copiar el JSX generado o descargarlo como un
.tsx/.jsxarchivo.
Características
- atributo camelCase –
stroke-widthse convierte enstrokeWidth,fill-rulese convierte enfillRule, y así sucesivamente a través de toda la especificación de SVG. - Manejo de palabras reservadas –
classse reescribe aclassName,forahtmlForyxlink:hrefaxlinkHref. - Analizador de estilo inline –
style="color: red; font-size: 12px"se convierte en un objeto de estilo JSX con claves en camelCase. - Salida en TypeScript – genera
React.SVGProps<SVGSVGElement>tipos cuando está habilitado. - Modo de icono escalable – reemplaza las dimensiones fijas de ancho/altura por
widthyheightpropiedades con valores predeterminados razonables. - Envoltura de React.forwardRef – emite un
React.forwardRefcomponente con undisplayNamepara DevTools. - Propagación de propiedades – transmite propiedades arbitrarias al elemento raíz
<svg>así que los consumidores pueden establecerclassName, ARIA o manejadores de eventos. - Diseñado para funcionar offline – el SVG nunca abandona el navegador; no hay subidas, no hay tránsitos hacia el servidor.
Preguntas frecuentes
-
¿Por qué React y JSX reescriben los nombres de atributos de SVG?
JSX se compila directamente a acceso de propiedades de objetos en JavaScript, y los identificadores de JavaScript no pueden contener guiones. Por lo tanto, React se está alineando con camelCase para los nombres de propiedades que coinciden con el DOM IDL — por ejemplo,
stroke-widthse convierte enstrokeWidthporque el DOM lo expone comoelement.strokeWidth. Una pequeña cantidad de atributos (class,for) colisionan con palabras reservadas en JavaScript y se renombran (className,htmlFor) para evitar conflictos de análisis. -
¿Qué hace React.forwardRef para un componente de SVG?
Por defecto, un componente funcional no puede recibir un
refde su padre — React lo ignora silenciosamente.React.forwardRefexpose el nodo DOM subyacente al padre, lo cual es esencial cuando necesitas acceso directo al elemento renderizado<svg>para gestión de enfoque, medición o integración con bibliotecas de animación como Framer Motion o GSAP. -
¿Por qué se deben incorporar SVGs como componentes de React en lugar de como imágenes inline?
Incorporar SVG como JSX te da control completo sobre el árbol del DOM: puedes personalizar trazos y rellenos mediante variables CSS, animar rutas individuales, cambiar colores en tiempo real y eliminar iconos no utilizados en el momento de compilación. Un
<img src="icon.svg">se comporta como un elemento raster opaco — no puedes estilizar sus interiores desde la página anfitrión. -
¿Por qué mantener ancho y alto como propiedades en lugar de atributos fijos?
Las dimensiones fijas en píxeles fijan el tamaño del icono en un solo tamaño y lo hacen difícil de integrar en un diseño. Exponer
widthyheightcomo propiedades (a menudo acompañado del originalviewBox) permite a los consumidores renderizar el mismo componente en 16px en una barra de herramientas y en 48px en un banner principal, con la escala vectorial del SVG preservando la claridad en todos los tamaños.
Instalar extensiones
Agregue herramientas IO a su navegador favorito para obtener acceso instantáneo y búsquedas más rápidas
恵 ¡El marcador ha llegado!
Marcador es una forma divertida de llevar un registro de tus juegos, todos los datos se almacenan en tu navegador. ¡Próximamente habrá más funciones!
Herramientas clave
Ver todo Los recién llegados
Ver todoActualizar: Nuestro última herramienta fue agregado el 30 Abr 2026
