Estado y Eventos en React para Aplicaciones Interactivas
Resumen
¿Cómo utilizar el estado de React para hacer una aplicación más dinámica?
La clave para mejorar la interactividad de nuestra aplicación es utilizar el estado de React. Este concepto nos permite mantener y actualizar la información dinámica en nuestra aplicación, haciendo que reaccione a las interacciones de los usuarios. Vamos a ver cómo implementarlo para cambiar un valor fijo, como un “cero”, a un número que refleje el número de boletos que un usuario desea comprar.
¿Cómo iniciar el estado utilizando React Hooks?
Para empezar, usaremos los React Hooks, que nos permiten añadir estado a nuestros componentes funcionales. La función useState() nos ayuda a mantener el estado:
const[quantity, setQuantity]=React.useState(0);
quantity: es el estado inicial, que comenzaremos en 0.
setQuantity: es la función que utilizaremos para actualizar quantity.
¿Cómo agregar eventos de clic en los botones?
Los eventos en React se manejan a través de funciones y propiedades que comienzan con "on". Aquí es donde se utiliza onClick para llamar a setQuantity() cada vez que hacemos clic en un botón. Por ejemplo, incrementaremos la cantidad de boletos con un botón "+" de la siguiente manera:
Lo importante es ajustar la lógica para que no se permita un número negativo de boletos.
¿Cómo limitar la cantidad de boletos disponibles?
Un desafío común es limitar el número de boletos que un usuario puede solicitar. Esto lo lograremos usando la propiedad disabled en los botones, que se activa o desactiva según la cantidad seleccionada.
¿Cuándo desactivar botones?
Botón de disminución: debe desactivarse si la cantidad es menor o igual a cero.
¿Qué hacer si encuentras errores al implementar estas funciones?
Es fundamental revisar cualquier error tipográfico o lógico, especialmente cuando se manejan propiedades o eventos complejos. Un caso típico podría ser un nombre de propiedad mal escrito que impide que la lógica aplicada funcione correctamente.
Al juntar estos principios y ajustar según sea necesario, podemos lograr que nuestra aplicación sea mucho más dinámica e interactiva, brindando a los usuarios una experiencia mejorada y funcional. Anímate a seguir experimentando con React para continuar ampliando tus habilidades en el desarrollo web. ¡El mundo de la programación está lleno de posibilidades!
Sorprendente como funcionan los estados en cada elemento sin afectar a los demás, ahorrándonos líneas de código 🤯
estaba acostumbrado a que al llamar un dato de otro componente siempre era necesario hacer props.movie por ejemplo.
Muy buen tip el hacer const { movie } = props; al inicio para llamar las propiedades sin necesidad de props.dato
Veo que el curso esta hace poco mas de 1 año, en 2022 digo que esta emocionante !!! buena idea de usar codesandbox para evitar subirlo a algun repo para cosas pequeñas o de practicas iniciales
Es excelente para desarrollo mas no para produccion.
Supongo que en dado caso quieras descargar el codigo completo lo madas a tu repo de github desde ahi mismo.
Pude hacer que aparezca el boton de menos "-" cuando quantity fuera mayor que 0, y el disable de manera normal
.
Si quieren aprender o profundizar conocimientos acerca de los React Hooks, les recomiendo el Curso profesional de React Hooks. 😀
Estuve como media hora analizando por qué mi boton no funcionaba... Y era porque escribí "onclick" en vez de "onClick..."
Estén pendientes con eso. Alguien sabe por qué se escribe con camelCase y no todo en minusculas como un html tag normal?
Porque así lo requiere React. Sin camelCase sería el atributo onclick de toda la vida en HTML (y no funcionan exactamente igual). :D
Todo lo que empiece con "on" en React, significa que es un evento.
Se puede hacer una función para manejar el estado, pero para simplificar se puede también hacer uso del operador condicional ternario.
He agregado un par de cosas, te muestra los tickets disponibles y al quedar 3 o menos boletos te avisa que quedan pocos boletos ademas el numero tiene una animación para hacerlo grande y cambiar de color.