Lecciones del curso

Intro a las aplicaciones Fullstack con React y Remix

¿Por qué debería aprender Remix?
7m
Construyamos mejores sitios web: Remix V2
4m
Fullstack Data Flow
4m
Cómo crear un proyecto Remix
1m
Escribiendo el componente de la ruta
Escribiendo el action de la ruta
Creando una base de datos con Prisma
Escribiendo el loader de la ruta
Production ready con Netlify

Escribiendo el action de la ruta

¿Cómo entendemos la función action? En realidad es simple, la función action se encarga de recibir todos los métodos HTTP para mutaciones. 🤯

Es decir, “post”, “put”, “patch” y “delete” a excepción de “get”, pues del GET se encarga la función loader. 🚦

export const action = async ({ request }: ActionFunctionArgs) => { const formData = await request.formData(); console.log("DisplayName", formData.get("displayName")); console.log("email", formData.get("email")); return { ok: true }; // always return something, null at least };

La función action nos provee del Request que contiene muchas herramientas utilísimas para crear aplicaciones muy versátiles, pues en Remix tenemos acceso directo a la Fetch API. En este caso utilizamos formData directamente, ya que es el formato por default que el formulario entrega, esto es nativo de la plataforma, así que, ¿por qué no usarlo? 🤓 

#useThePlatform

Obtenemos los datos con formData.get(name) y por ahora solo los imprimimos en la consola:

[1] GET / 200 - - 3.594 ms [1] DisplayName BlisSito [1] email fixtergeek@gmail.com [1] POST /new 200 - - 5.741 ms

Añadiendo feedback para el usuario

En la siguiente lección, crearemos una base de datos y la usaremos para guardar nuestro nuevo usuario pero antes, vamos a crear un toast, para anunciar que el nuevo usuario se ha creado, esto es, cuando la función action ya ha respondido con { ok: true }.

// ... const actionData = useActionData(); // agregamos un toast return ( // ... {actionData?.ok && ( <div className="bg-green-200/50 py-4 px-8 rounded-xl absolute bottom-8 text-lg text-green-700"> <p>✅ El usuario ha sido creado con éxito.</p> </div> )} ); // ...

¡Genial! Ahora tenemos un toast bonito que mostrar una vez que hemos recibido los datos. 🎉 

😎 Reto: Si eres tan bueno(a) con JS, ¿Podrías hacer que el toast desaparezca después de 5 segundos?

Abrazo.

Bliss. 🤓

Enlaces relacionados

Fetch API Docs

https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API

spaceman

¿List@ para ver todo el curso? Prepárate porque apenas estamos comenzando 🚀

¡Desbloquea el curso completo y conviértete en un PRO del desarrollo web! 🫶🏻 .