Démarrage rapide Remix
Ajoutez un formulaire de contact fonctionnel à votre application Remix. Vous écrivez le formulaire, et Formerie le vérifie, le conserve et vous l’envoie par courriel.
Installer
npm install @formerie/remixpnpm add @formerie/remixyarn add @formerie/remixbun add @formerie/remixLes paquets Formerie sont en alpha, donc leurs API peuvent encore changer d’une version à l’autre.
Ajouter le formulaire
Utilisez ce fichier comme composant de route, par exemple app/routes/contact-form.tsx. Le crochet fonctionne comme celui du démarrage rapide React.
import { useFormerieSubmit } from "@formerie/remix";
export default function ContactForm() {
const { submit, state } = useFormerieSubmit({ workspace: "acme", form: "contact" });
return (
<form
onSubmit={(event) => {
event.preventDefault();
submit({ fields: Object.fromEntries(new FormData(event.currentTarget)) });
}}
>
<input name="name" placeholder="Name" required />
<input name="email" type="email" placeholder="Email" required />
<textarea name="message" placeholder="Message" required />
<button disabled={state.status === "submitting"}>Send</button>
{state.result?.ok === true && <p>Thanks!</p>}
{state.result?.ok === false && <p>{state.result.error.message}</p>}
</form>
);
}Le name de chaque champ de saisie correspond au champ qu’il remplit dans Formerie.
Configurer le formulaire dans l’application
- Ouvrez app.formerie.com et créez un formulaire nommé Contact. Il vient avec les champs de nom, de courriel et de message que ce code envoie.
- Dans l’onglet Livraison, ajoutez votre adresse courriel, puis choisissez Enregistrer la livraison. Confirmez le courriel que Formerie vous envoie.
- Dans l’onglet Publication, choisissez API seulement et ajoutez l’adresse qu’affiche votre serveur de développement, comme
http://localhost:5173, sous Adresses de vos sites.localhostet127.0.0.1comptent comme deux adresses différentes. Ajoutez l’adresse de votre site en ligne de la même façon au moment de le déployer. - Choisissez Publier le formulaire.
- Dans le code ci-dessus, remplacez
acmepar l’identifiant d’espace de travail affiché dans l’onglet Publication.
Vérifier que c’est arrivé
Lancez votre application, remplissez le formulaire et envoyez-le. « Thanks! » s’affiche dans la page, un texte que vous pouvez changer. Dans l’application Formerie, votre réponse apparaît sous Soumissions, et son courriel sous Livraisons.
Vous voyez une erreur CORS ou NETWORK_ERROR? L’adresse de votre site n’est pas encore dans l’onglet Publication, ou vous n’avez pas republié
depuis que vous l’avez ajoutée. Consultez Dépannage.
Aller plus loin
À partir de votre serveur
Une action de route peut renvoyer la réponse de Formerie en JSON. Comme la fonction de Next.js, elle ne fonctionne pas encore avec un formulaire qui demande une vérification humaine. Lisez ce que l’approche par le serveur implique avant de la choisir.
import { createFormerieRemixAction } from "@formerie/remix";
export const action = createFormerieRemixAction({ workspace: "acme", form: "contact" });À lire ensuite
- Recettes : demandes de soumission, sondages et acheminement par sujet
- Afficher les erreurs de champ et plus encore
- SDK JavaScript et API : la référence complète