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-your-code></toimii-your-code>
Étape par étape
Pièges
Questions fréquentes
Ai-je besoin d'un composant d'encapsulation React/Vue/Angular ?
Non. Le script définit l'élément dans le navigateur : votre framework n'a donc qu'à restituer la balise — et rien ne change dans votre build lorsque nous publions une nouvelle version.
Comment indiquer à TypeScript l'existence de l'élément personnalisé ?
Déclarez-le dans l'interface IntrinsicElements de JSX, avec la balise qu'utilise votre propre composant. React 19 a déplacé cet espace de noms et la forme correcte dépend du réglage jsx de votre tsconfig : reprenez la forme actuelle dans le guide de mise à niveau de React. Le formulaire fonctionne sans cela.
Comment passer des props ou une configuration ?
Il n'y a rien à passer. Ce que le formulaire demande et l'endroit où il envoie les messages se définissent dans Toimii et sont intégrés au bundle que charge le script — c'est pourquoi la balise ne porte aucun attribut.
Fonctionne-t-il avec Next.js ou un autre framework React ?
Oui. Avec Next.js, chargez-le avec next/script depuis la mise en page racine — l'endroit documenté pour un script dont tout le site a besoin. Une limite "use client" n'est nécessaire que si vous y attachez un gestionnaire load ou error ; la balise elle-même n'en a pas besoin.
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 deux mêmes 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.