Incrusta un formulario de contacto en React, Vue o Angular
Los web components son parte del DOM. Coloca la etiqueta directamente en JSX, plantillas Vue o componentes Angular — sin envoltorio.
<script src="https://cdn.toimii.io/components/your-code.js" async></script>
<toimii-contact></toimii-contact>
Paso a paso
Problemas comunes
Preguntas frecuentes
¿Necesito un componente envoltorio de React/Vue/Angular?
No. Los web components son parte del estándar DOM — React, Vue y Angular renderizan las etiquetas desconocidas como HTML plano y dejan que el navegador se encargue. Sin paquete npm, sin @types, nada que instalar.
¿Cómo le indico a TypeScript que existe el elemento personalizado?
Sí. Añade esto a un archivo global.d.ts: declare namespace JSX { interface IntrinsicElements { 'toimii-contact': any } }. El formulario funciona sin esto — TypeScript simplemente deja de quejarse.
¿Cómo paso props o configuración?
Pásalos como atributos HTML normales. Los web components leen atributos del DOM de la misma manera que React lee props de JSX. Para valores dinámicos, usa una ref y establece las propiedades de forma imperativa si es necesario.
¿Funciona con Next.js, Remix o SvelteKit?
Sí. En Next.js, añade la etiqueta script en app/layout.tsx (con el componente next/script) o en pages/_document.tsx. El elemento personalizado se renderiza en el lado cliente — envuélvelo en un boundary "use client" si estás en el App Router.
¿Qué pasa con el renderizado en el servidor?
El elemento personalizado se renderiza en el lado cliente, como cualquier web component. El SSR emite la etiqueta, el navegador registra el elemento cuando se carga el script, y entonces aparece el formulario. Hay un breve destello de espacio vacío — normalmente imperceptible.
¿Incrustando en una plataforma diferente?
Las mismas dos líneas de código, explicadas para cada plataforma.
¿Listo para probarlo?
Prueba gratuita de 30 días. Sin tarjeta de crédito. Listo en minutos.
Sin tarjeta de crédito. Listo en 2 minutos.