Crear un formulario de ConvertKit con React
Aprende a crear un formulario de React para crear suscriptores en tu cuenta de ConvertKit.
1. Prepara tu proyecto
Instala la biblioteca de ayuda de React en tu proyecto:
npm install @formspree/react
Luego añade el FormspreeProvider a tu componente de aplicación de nivel superior. Por ejemplo, si estás usando Next.js, así podría verse tu archivo pages/_app.js:
import { FormspreeProvider } from '@formspree/react';
function App({ Component, pageProps }) {
return (
<FormspreeProvider project="{your-project-id}">
<Component {...pageProps} />
</FormspreeProvider>
);
}
export default App;
2. Configura tu formulario
En tu archivo formspree.json, añade un formulario de opt-in. Ten en cuenta que las tags que proporciones ya deben existir en tu cuenta de ConvertKit.
{
"forms": {
"optInForm": {
"name": "Opt-In Form",
"actions": [{
"app": "convertkit",
"type": "applyTags",
"tags": ["Newsletter"]
}]
}
}
}
Luego, despliega tus cambios a StaticKit:
formspree deploy -k <your-deploy-key>
Recibirás instrucciones sobre cómo guardar tu clave secreta de la API de ConvertKit.
Más información sobre las acciones de ConvertKit →
3. Construye tu formulario
Conecta tu componente de formulario usando el hook useForm:
import React from 'react';
import { useForm, ValidationError } from '@formspree/react';
function OptInForm() {
const [state, handleSubmit] = useForm("optInForm");
if (state.succeeded) {
return <p>Thanks for joining!</p>;
}
return (
<form onSubmit={handleSubmit}>
<label htmlFor="email">
Email Address
</label>
<input
id="email"
type="email"
name="email"
/>
<ValidationError
prefix="Email"
field="email"
errors={state.errors}
/>
<button type="submit" disabled={state.submitting}>
Sign Up
</button>
</form>
);
}
export default OptInForm;
Más información sobre el CLI de Formspree →
Más información sobre Formspree y React →