Intégrer un formulaire de contact dans React, Vue ou Angular
Les web components font partie du DOM. Insérez la balise directement dans JSX, les templates Vue ou les composants Angular — aucun encapsulage nécessaire.
<script src="https://cdn.toimii.io/components/your-code.js" async></script>
<toimii-contact></toimii-contact>
Étape par étape
Pièges courants
Questions fréquentes
Ai-je besoin d'un composant d'encapsulation React/Vue/Angular ?
Non. Les web components font partie du standard DOM — React, Vue et Angular restituent tous les balises inconnues en HTML brut et laissent le navigateur prendre le relais. Aucun package npm, aucun @types, rien à installer.
Comment indiquer à TypeScript l'existence de l'élément personnalisé ?
Oui. Ajoutez ceci dans un fichier global.d.ts : declare namespace JSX { interface IntrinsicElements { 'toimii-contact': any } }. Le formulaire fonctionne sans cela — TypeScript cesse simplement de se plaindre.
Comment passer des props ou une configuration ?
Passez-les comme des attributs HTML classiques. Les web components lisent les attributs du DOM de la même façon que React lit les props du JSX. Pour les valeurs dynamiques, utilisez une ref et définissez les propriétés de manière impérative si nécessaire.
Fonctionne-t-il avec Next.js, Remix ou SvelteKit ?
Oui. Avec Next.js, ajoutez la balise script dans app/layout.tsx (avec le composant next/script) ou dans pages/_document.tsx. L'élément personnalisé s'affiche côté client — encapsulez-le dans une limite "use client" si vous utilisez l'App Router.
Qu'en est-il du rendu côté serveur ?
L'élément personnalisé s'affiche côté client, comme tout web component. Le rendu côté serveur émet la balise, le navigateur enregistre l'élément au chargement du script, puis le formulaire apparaît. Un bref espace vide peut surgir, généralement imperceptible.
Intégration sur une autre plateforme ?
Les mêmes deux lignes de code, décortiquées pour chaque plateforme.
Prêt à l'essayer ?
Essai gratuit de 30 jours. Sans carte bancaire. Prêt en quelques minutes.
Sans carte bancaire. Prêt en 2 minutes.