Introduccion a useEffect

Lectura
15 min~2 min lectura
Objetivo de la lección

useEffect: Efectos secundarios useEffect te permite ejecutar codigo despues de que React actualiza el DOM.

Puntos de control
  • useEffect: Efectos secundarios
  • Sintaxis basica
  • Array de dependencias
  • Ejemplo: Fetch de datos

useEffect: Efectos secundarios

useEffect te permite ejecutar codigo despues de que React actualiza el DOM. Se usa para efectos secundarios como:

  • Llamadas a APIs
  • Suscripciones
  • Manipulacion manual del DOM
  • Timers

Sintaxis basica

import { useEffect, useState } from 'react';

function Componente() {
  const [data, setData] = useState(null);

  useEffect(() => {
    // Este codigo se ejecuta despues del render
    console.log('Componente renderizado!');
  });

  return <div>{data}</div>;
}

Array de dependencias

// Se ejecuta en CADA render
useEffect(() => {
  console.log('Cada render');
});

// Se ejecuta SOLO al montar
useEffect(() => {
  console.log('Solo al montar');
}, []);

// Se ejecuta cuando cambia 'count'
useEffect(() => {
  console.log('Count cambio:', count);
}, [count]);

// Se ejecuta cuando cambia 'a' O 'b'
useEffect(() => {
  console.log('a o b cambiaron');
}, [a, b]);

Ejemplo: Fetch de datos

function UserProfile({ userId }) {
  const [user, setUser] = useState(null);
  const [loading, setLoading] = useState(true);

  useEffect(() => {
    setLoading(true);

    fetch(`/api/users/${userId}`)
      .then(res => res.json())
      .then(data => {
        setUser(data);
        setLoading(false);
      });
  }, [userId]); // Re-fetch cuando cambia userId

  if (loading) return <p>Cargando...</p>;

  return <h1>{user.name}</h1>;
}

Ejemplo: Titulo del documento

function Counter() {
  const [count, setCount] = useState(0);

  useEffect(() => {
    document.title = `Contador: ${count}`;
  }, [count]);

  return (
    <button => setCount(c => c + 1)}>
      {count}
    </button>
  );
}

Practica de portfolio

Convierte esta leccion en evidencia real: arma una entrega pequena que puedas mostrar en una entrevista, en LinkedIn o en tu portfolio. Trabaja con un caso propio o con una empresa ficticia, pero deja claro el problema, la decision y el resultado.

  • Entregable: una captura, documento, repositorio o tablero con el resultado final.
  • Checklist: objetivo, pasos seguidos, criterio de calidad y mejora pendiente.
  • Mini-rubrica: si otra persona lo revisa, debe entender que hiciste, por que y como repetirlo.
Laboratorio de práctica

Antes de marcar esta lección como completa, escribí una evidencia breve para React Fundamentals: un ejemplo, una decisión, una captura, una mini demo o una nota que puedas reutilizar en portfolio.

Reflexión rápida

¿Qué cambiarías en tu forma de trabajar después de aplicar introduccion a useeffect?

De lección a portfolio

Convertí esta lección en una prueba técnica visible.

Una app pequeña publicada, con README y decisiones explicadas, funciona mejor que una lista de tecnologías sueltas.

Paso 1

Creá una demo mínima que use el concepto de la lección.

Paso 2

Escribí un README corto con objetivo, stack, decisión técnica y mejora futura.

Paso 3

Publicá la demo y enlazala desde tu perfil profesional.

Newsletter Cursalo

Recibí rutas y cursos nuevos

Sumate para recibir recursos orientados a empleo y portfolio.

  • Rutas de empleo
  • Cursos prácticos
  • Portfolio y entrevistas

Sin spam. También podés entrar con tu cuenta para guardar progreso. Iniciá sesión