10-29. useEffect

Entendiendo useEffect en React

馃敼 Miniatura de la clase
馃帴 [0:00 / 9:32]

馃攧 Practicando con el State y los Likes

Antes de avanzar, vamos a repasar c贸mo manejar el estado (state) en React con un ejemplo pr谩ctico de un contador de likes:

jsx
const [likes, setLikes] = useState(0);

const darLike = () => {
  setLikes(likes + 1); // Incrementamos el contador
};

return (
  <div>
    <h1>Likes: {likes}</h1>
    <button onClick={darLike}>Dar Like</button>
  </div>
);

✅ ¿Qu茅 ocurre?

  • Solo el componente que contiene el estado se actualiza (no toda la p谩gina).

  • React optimiza los renders gracias al Virtual DOM.


馃洜️ React Developer Tools

Para una mejor experiencia de desarrollo, instala la extensi贸n oficial:
馃敆 React Developer Tools (Chrome)

馃攳 ¿Qu茅 nos permite?

  • Ver componentes en tiempo real.

  • Inspeccionar estados (states) y props.

  • Depurar eficientemente.

https://miro.medium.com/max/1200/1*QZ9BR-JqromUiyx1s2D5MQ.png


⚡ Introducci贸n a useEffect

useEffect es un hook que nos permite ejecutar efectos secundarios en componentes funcionales.

馃搶 Sintaxis b谩sica:

jsx
useEffect(() => {
  // C贸digo a ejecutar
}, [dependencias]); // ← Array de dependencias

馃敟 Casos de uso comunes:

  1. Actualizar el DOM (ej: contador de carrito de compras).

  2. Consumir APIs (fetch de datos al montar el componente).

  3. Suscribirse a eventos (scroll, teclado, etc.).

⚠️ ¡Cuidado con los bucles infinitos!

Si omites el array de dependencias, el efecto se ejecutar谩 en cada render:

jsx
useEffect(() => {
  darLike(); // ¡Se ejecutar谩 infinitamente!
}); // ← Sin array de dependencias

馃幆 Ejemplo pr谩ctico:

jsx
useEffect(() => {
  console.log("El componente se mont贸 o 'likes' cambi贸");
}, [likes]); // Se ejecuta solo si 'likes' cambia

馃挕 ¿Por qu茅 es 煤til?

  • Optimizaci贸n: Evita renders innecesarios.

  • Modularidad: Separa la l贸gica de efectos del renderizado.

  • Control: Decide cu谩ndo y c贸mo se ejecuta el c贸digo.


馃摙 ¿Quieres profundizar? ¡Dale like y comenta qu茅 otros hooks te interesan! 

Comentarios

Entradas m谩s populares de este blog

6.5-4-Qu茅 son las Props

6.8-23-pasando funciones a nuestro componente

6.12-0-3- Spread Operator