¿Quieres aprender qué son useState y useEffect en React y cómo usarlos de la manera más fácil? Entonces sigue leyendo este post, donde te explicaré con ejemplos sencillos y prácticos lo que hacen estos dos hooks y por qué son tan importantes para el desarrollo de aplicaciones web con React.
useState es un hook que te permite crear y manejar estados en tus componentes funcionales de React. Un estado es una variable que almacena algún valor que puede cambiar a lo largo del tiempo y que afecta el comportamiento o la apariencia de tu componente. Por ejemplo, si tienes un botón que cambia de color al hacer clic en él, puedes usar un estado para guardar el color actual del botón y cambiarlo cada vez que el usuario lo presione.
Para usar useState, solo tienes que importarlo desde la librería de React y luego llamarlo dentro de tu componente funcional, pasándole como argumento el valor inicial del estado. useState te devolverá un arreglo con dos elementos: el primero es el valor actual del estado y el segundo es una función que te permite actualizar ese valor. Puedes asignar estos elementos a dos variables usando la sintaxis de desestructuración de arreglos.
Por ejemplo:
jsimport React, { useState } from 'react';function Boton() {// Crea un estado llamado color con el valor inicial 'rojo'const [color, setColor] = useState('rojo');// Define una función que cambia el color del estado cada vez que se llamafunction cambiarColor() {// Usa la función setColor para actualizar el valor del estado// Si el color actual es 'rojo', lo cambia a 'verde', y viceversasetColor(color === 'rojo' ? 'verde' : 'rojo');}// Retorna el elemento JSX que representa el botón// Usa el valor del estado color para definir el estilo del botón// Usa la función cambiarColor como manejador del evento onClick del botónreturn (<button style={{ backgroundColor: color }} onClick={cambiarColor}>Haz clic aquí</button>);}```
```jsimport React, { useState, useEffect } from 'react';function Reloj() {// Crea un estado llamado hora con el valor inicial de la hora actualconst [hora, setHora] = useState(new Date().toLocaleTimeString());// Define una función