Incorporar um formulário de contato no React, Vue ou Angular
Os web components são parte do DOM. Coloca a tag diretamente em JSX, templates Vue ou componentes Angular — sem wrapper necessário.
<script src="https://cdn.toimii.io/components/your-code.js" async></script>
<toimii-contact></toimii-contact>
Passo a passo
Problemas comuns
Perguntas frequentes
Preciso de um componente wrapper React/Vue/Angular?
Não. Os web components são parte do padrão DOM — o React, o Vue e o Angular renderizam tags desconhecidas como HTML simples e deixam o browser tratar do resto. Sem pacote npm, sem @types, nada para instalar.
Como digo ao TypeScript sobre o elemento personalizado?
Sim. Adiciona isto a um ficheiro global.d.ts: declare namespace JSX { interface IntrinsicElements { 'toimii-contact': any } }. O formulário funciona sem isso — o TypeScript apenas deixa de reclamar.
Como passo props ou configuração?
Passa-os como atributos HTML normais. Os web components leem atributos do DOM da mesma forma que o React lê props do JSX. Para valores dinâmicos, usa uma ref e define as propriedades de forma imperativa se necessário.
Funciona com Next.js, Remix ou SvelteKit?
Sim. No Next.js, adiciona a tag script em app/layout.tsx (com o componente next/script) ou em pages/_document.tsx. O elemento personalizado renderiza no lado do cliente — envolve-o numa fronteira "use client" se estiveres no App Router.
E quanto ao server-side rendering?
O elemento personalizado renderiza no lado do cliente, como qualquer web component. O SSR emite a tag, o browser regista o elemento quando o script carrega, e depois o formulário aparece. Há um breve flash de espaço vazio — normalmente imperceptível.
A incorporar noutra plataforma?
As mesmas duas linhas de código, explicadas para cada plataforma.
Pronto para experimentar?
30 dias de teste gratuito. Sem cartão de crédito. Pronto em minutos.
Sem cartão de crédito. Pronto em 2 minutos.