Bädda in ett kontaktformulär i React, Vue eller Angular
Webbkomponenter är en del av DOM. Släpp in taggen direkt i JSX, Vue-mallar eller Angular-komponenter — ingen wrapper behövs.
<script src="https://cdn.toimii.io/components/your-code.js" async></script>
<toimii-contact></toimii-contact>
Steg för steg
Vanliga fallgropar
Vanliga frågor
Behöver jag en React/Vue/Angular wrapper-komponent?
Nej. Webbkomponenter är en del av DOM-standarden — React, Vue och Angular renderar okända taggar som vanlig HTML och låter webbläsaren ta över. Inget npm-paket, inga @types, inget att installera.
Hur berättar jag för TypeScript om det anpassade elementet?
Ja. Lägg till det här i en global.d.ts-fil: declare namespace JSX { interface IntrinsicElements { 'toimii-contact': any } }. Formuläret fungerar utan det — TypeScript slutar bara klaga.
Hur skickar jag props eller config?
Skicka dem som vanliga HTML-attribut. Webbkomponenter läser attribut från DOM:en på samma sätt som React läser props från JSX. För dynamiska värden, använd en ref och sätt egenskaper imperativt vid behov.
Fungerar det med Next.js, Remix eller SvelteKit?
Ja. I Next.js, lägg till script-taggen i app/layout.tsx (med next/script-komponenten) eller i pages/_document.tsx. Det anpassade elementet renderas på klientsidan — omslut det i en "use client"-gräns om du är i App Router.
Vad händer med server-side rendering?
Det anpassade elementet renderas på klientsidan, precis som alla webbkomponenter. SSR skickar taggen, webbläsaren registrerar elementet när scriptet laddas, sedan visas formuläret. Det kan blinka tomt ett ögonblick — oftast omärkbart.
Bäddar du in på en annan plattform?
Samma två rader kod, förklarat för varje plattform.
Redo att prova?
30 dagars gratis provperiod. Inget kreditkort. Klar på minuter.
Inget kreditkort krävs. Klar på 2 minuter.