Comprando productos
Clase 31 de 33 • Curso de Desarrollo de Aplicaciones Web con Gatsby JS
Contenido del curso
Preparando el entorno
Fundamentos de Gatsby
Creando la vista con React
Graphql en Gatsby
Usando plugins en Gatsby
Stripe checkout
Generando páginas programáticamente
- 24

Creando páginas en función de los datos
08:57 min - 25

Manejo de Gatsby Templates
13:39 min - 26

Terminando la Vista de Detalle de los Productos
05:58 min - 27

StaticQuery vs. useStaticQuery
03:23 min - 28

Construyendo el Carrito de Compras: useContext
08:18 min - 29

Construyendo el Carrito de Compras: Vista
09:22 min - 30

Construyendo el Carrito de Compras: Agregar productos al carrito
08:44 min - 31

Comprando productos
Viendo ahora
Gatsby a producción
Resumen
Vamos a usar React.useEffect para ejecutar Stripe al momento que carga nuestra página en el navegador. Solo debemos ejecutar esta función una vez, así que el segundo argumento de useEffect debe ser un array vacío:
// cart
const [stripe, setStripe] = useState();
useEffect(() => {
setStripe(window.Stripe(
process.env.STRIPE_PK,
{ betas: ['checkout_beta_4'] },
));
}, []);
De esta forma podemos configurar nuestro botón de compra para que envíe al usuario al formulario de pago de Stripe:
const handleSubmit = asynv e => {
e.preventDefault();
const { error } = await stripe.redirectToCheckout({
items: cart.map(({ .sku, quantity }) => ({ sku, quantity })),
successUrl: process.env.SUCCESS_REDIRECT,
canelUrl: process.env.CANCEL_REDIRECT,
});
if (error) throw error;
}
/* ... */
<Button onClick={handleSubmit}>Comprar</Button>
Screen reader support enabled.