useState React Hook

By crypto-sainz on 1/17/2023

image0.png Hola hoy vamos a hablar de uno de los hook mas importante que tiene React que es el useState, y el que mas también comúnmente se usa, si el proyecto tiene interactividad y necesitas actualizar el estado de un componente especifico. Antes que nada te estarás preguntando

pero que son los hooks : son funciones especiales que nos permiten usar características de React con componentes funcionales.

que es useState : es un hook que nos permite agregarle un estado a un componente funcional

veamos mejor un ejemplo para que lo entiendas mejor.

image1.png

  • importamos los estilos css para centrar y darle color.
  • creamos una constante CounterApp con una función flecha que devuelve con el return un div al cual le agregue una clase app para darte estilo.
  • agregamos un h2 para el titulo en este caso dice counter.
  • un h3 vació ahí ira el numero que mostrara en pantalla nuestro contador, como estamos insertado javascript lo ponemos entre llaves {}.
  • pusimos un botón con una clase one para darle estilo y a este le pusimos un +1 para saber que hace dicho botón.
  • cerramos el div de app.
  • por ultimo hay que exportar default counterApp para poder visualizarlo.

con esto ya tenemos la estructura básica de nuestro contador ahora vamos a ir agregándole mas funcionalidad.

image2.png a nuestro botón le agregamos un evento onClick que hará que cuando le demos click al botón +1 dispare la función handelAdd.

image3.png

la constante handelAdd tiene una función de flecha en la cual por ahora le paso el evento y que devuelve un console.log con el evento.

ya es hora de trabajar con el hook useState

  • importe este de react de la siguiente manera:

image4.png

ahora que ya hemos importado useState dentro de la constante CounterApp vamos a agregar una constante, esa constante va a ser un arreglo con 2 elementos importante abrimos corchetes y dentro le pasamos counter y setCounter cerramos corchetes ponemos un igual a useState abrimos paréntesis y le ponemos cero que es el numero inicial de nuestro estado(cero va a ser el numero inicial de counter), cerramos paréntesis.

el código quedaría así:

image5.png

expliquemos esto, que es cada cosa :

counter : el el valor que queremos usar como el estado, por ejemplo nuestra aplicación tiene un estado que es counter ese es un estado que vamos a guardar, vamos a usar y vamos a actualizar.

setCounter: es una función que nos va a permitir actualizarlo.

Siempre por convención se utiliza set por ejemplo si tenemos

const [nombre, setNombre] = useState(); con la funcion setCounter vamos a poder actualizar el numero de counter.

ahora que queremos hacer cuando se haga click en el botón +1 en este caso queremos que a counter se incremente en uno (quiero sumarle 1) y luego quiero asignar ese valor al estado de mi componente (mi aplicación).

como lo podemos hacer, con los dos elementos que acabamos de crear, de esta forma :

image6.png

usamos esta función la llamamos, que valor le vamos a pasar como argumento,el nuevo valor que le vamos a asignar al counter, en este caso va a ser counter +1 lo vamos a actualizar y esta llamada a la función va a actualizar ese estado y solo va actualizar lo que es necesario, debido a ese cambio en la interfaz de usuario, toda esa actualización ocurre automáticamente, se vuelve a renderizar lo que se necesita renderizar.

Ahora ya tenemos nuestro botón funcionando, agreguemos uno para resetearlo a cero agreguemos un nuevo botón con la clase one para que tenga los mismos estilos que el botón anterior también le pondremos un evento onClick al cual le pasaremos la función handelReset.

image7.png

llamemos a la función setCounter, esta es la función que tenemos que llamar cada vez que queremos actualizar el counter en este caso como argumento para hacer un reset de nuestro counter le pasaremos cero.

image8.png

que ocurre si queremos hacer un botón que reste, en este caso seria igual al botón que suma

image9.png

espero que les sirva un poco para entender un poco mas el tema de el hook useState de React, si te gusto sígueme para mas contenido de programación y comparte para poder llegar a mas personas. Gracias.

Comments (2)

shadowmyst's avatar @shadowmyst 1/17/2023

Cuando empece a usar React como me causo dolores de cabeza, el useState y el useEffect, actualmente mi dolor de cabeza son los "context".

Me gusto tu explicación, es sencilla y fácil de entender, espero que pueda ver más post tuyos sobre React por acá, pues ayudaría mucho a las personas que están interesados en aprender a usar esta librería

crypto-sainz's avatar @crypto-sainz 1/23/2023

Hola gracias por el mensaje, tiene su dificultad React, si no has visto Redux todavía. Esto me motiva a seguir creando contenido 💪

hivebuzz's avatar @hivebuzz 1/17/2023

Congratulations @crypto-sainz! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)

You received more than 600 upvotes.
Your next target is to reach 700 upvotes.

You can view your badges on your board and compare yourself to others in the Ranking If you no longer want to receive notifications, reply to this comment with the word STOP

Check out our last posts:

LEO Power Up Day - January 15, 2023
The Hive Gamification Proposal Renewal
Support the HiveBuzz project. Vote for our proposal!