Een contactformulier insluiten in React, Vue of Angular
Web components zijn onderdeel van de DOM. Plaats de tag rechtstreeks in JSX, Vue-templates of Angular-componenten — geen wrapper nodig.
<script src="https://cdn.toimii.io/components/your-code.js" async></script>
<toimii-contact></toimii-contact>
Stap voor stap
Veelvoorkomende valkuilen
Veelgestelde vragen
Heb ik een React/Vue/Angular wrapper-component nodig?
Nee. Web components zijn onderdeel van de DOM-standaard — React, Vue en Angular renderen onbekende tags als gewone HTML en laten de browser de rest afhandelen. Geen npm-pakket, geen @types, niets te installeren.
Hoe vertel ik TypeScript over het custom element?
Ja. Voeg dit toe aan een global.d.ts-bestand: declare namespace JSX { interface IntrinsicElements { 'toimii-contact': any } }. Het formulier werkt er ook zonder — TypeScript stopt dan alleen met klagen.
Hoe geef ik props of configuratie mee?
Geef ze mee als gewone HTML-attributen. Web components lezen attributen uit de DOM op dezelfde manier als React props leest uit JSX. Voor dynamische waarden gebruik je een ref en stel je eigenschappen imperatief in indien nodig.
Werkt het met Next.js, Remix of SvelteKit?
Ja. In Next.js voeg je de script-tag toe in app/layout.tsx (met de next/script-component) of in pages/_document.tsx. Het custom element wordt client-side weergegeven — gebruik een "use client"-grens als je in de App Router werkt.
Wat met server-side rendering?
Het custom element wordt client-side weergegeven, zoals elk web component. SSR stuurt de tag mee, de browser registreert het element wanneer het script laadt, dan verschijnt het formulier. Er is een korte flits van lege ruimte — doorgaans nauwelijks merkbaar.
Insluiten op een ander platform?
Dezelfde twee regels code, uitgelegd voor elk platform.
Klaar om het te proberen?
30 dagen gratis. Geen creditcard. Binnen minuten ingesteld.
Geen creditcard nodig. Binnen 2 minuten klaar.