8.1-¿Qué es el estado (state) en React?-27. Que son los hooks

Estado y Ciclo de Vida en React

📌 ¿Qué es el Estado (State) en React?

El estado es el corazón dinámico de los componentes de React. Es un sistema que permite:

  • 🗃️ Almacenar datos que pueden cambiar durante la vida del componente

  • 🔄 Actualizar la UI automáticamente cuando estos datos cambian

  • ⚡ Manejar interactividad (formularios, contadores, modales, etc.)

Ejemplo Práctico: Contador

jsx
Copy
Download
import { useState } from 'react';

function Contador() {
  const [contador, setContador] = useState(0); // Estado inicial: 0

  return (
    <div>
      <p>Clics: {contador}</p>
      <button onClick={() => setContador(contador + 1)}>
        Incrementar
      </button>
    </div>
  );
}

🔹 Cómo funciona:

  1. useState(0) inicializa el estado con valor 0

  2. contador contiene el valor actual

  3. setContador es la función para actualizarlo

  4. Cada actualización vuelve a renderizar el componente

🔄 Montaje y Desmontaje de Componentes

Ciclo de Vida Básico

FaseQué ocurreCódigo equivalente
MontajeEl componente se crea y añade al DOMuseEffect(() => {}, [])
ActualizaciónEl componente se actualiza (por cambios en props/state)useEffect(() => {})
DesmontajeEl componente se elimina del DOMuseEffect(() => { return () => {} }, [])

Ejemplo con Efectos

jsx
Copy
Download
import { useEffect } from 'react';

function Reloj() {
  useEffect(() => {
    // 1️⃣ Se ejecuta al MONTAR
    const intervalo = setInterval(() => {
      console.log('Tick');
    }, 1000);

    // 2️⃣ Función de limpieza al DESMONTAR
    return () => clearInterval(intervalo);
  }, []);

  return <div>Reloj activo (ver consola)</div>;
}

🧠 Relación entre Estado y Renderizado

Diferencias Clave

Concepto¿Qué hace?¿Cuándo ocurre?
MontajeCrea e inserta el componentePrimera vez que se usa
RenderizadoDibuja/actualiza la UIPor cambios en props/state
DesmontajeElimina el componenteAl cambiar de ruta o condición

Flujo Típico

  1. Montaje inicial → Renderizado inicial

  2. Actualización de estado → Nuevo renderizado

  3. Desmontaje → Limpieza de efectos

💡 Mejores Prácticas

  1. Estado Local vs Global:

    • Usa useState para datos de un componente

    • Usa Context/Redux para datos compartidos

  2. Optimización:

    jsx
    Copy
    Download
    // Evita recrear funciones en cada render
    const incrementar = useCallback(() => {
      setContador(c => c + 1);
    }, []);
  3. Limpieza Obligatoria:

    • Siempre limpia suscripciones, timers y eventos en el desmontaje

📚 Ejemplo Avanzado: Formulario Controlado

jsx
Copy
Download
function Formulario() {
  const [form, setForm] = useState({
    nombre: '',
    email: ''
  });

  const handleChange = (e) => {
    setForm({
      ...form,
      [e.target.name]: e.target.value
    });
  };

  return (
    <form>
      <input 
        name="nombre"
        value={form.nombre}
        onChange={handleChange}
      />
      <input
        name="email"
        value={form.email}
        onChange={handleChange}
      />
    </form>
  );
}

🔍 ¿Por qué es importante entender esto?

  • Estado: Maneja la interactividad de tu app

  • Ciclo de vida: Previene memory leaks y optimiza rendimiento

  • Renderizado: Entender cuándo y por qué se actualiza la UI

------------------------------------------------------------------

 ¿Qué son los Hooks en React? 🚀

¿Te imaginas construir una aplicación web sin complicaciones y con un código más limpio? ¡Los Hooks de React hacen eso posible! 🔥

📌 ¿Qué son?
Los Hooks son funciones especiales que nos permiten "enganchar" características de React (como el estado o el ciclo de vida) en componentes funcionales. ¡Sí, sin clases! 💡

👉 ¿Por qué son importantes?

  • Simplifican el código.

  • Eliminan la necesidad de clases.

  • Mejoran la reutilización de la lógica.

🚂 Metáfora del Tren
Imagina tu app como un tren:

  • Locomotora (index.html): El núcleo que arrastra todo.

  • Vagones (componentes): Cada parte de tu app (como botones, likes, etc.).
    Los Hooks son los ganchos que conectan cada vagón (componente) al tren (app) sin recargar toda la página.

💡 Ejemplo práctico:
Cuando das like en Facebook, solo se actualiza ese botón (¡no toda la página!). Eso es gracias a los Hooks trabajando detrás.


🔗 ¿Te gustó? ¡Dale like y sigue nuestra página para más memes de programación 100% originales! 😆

#React #Hooks #Frontend #Programación


✨ Tips extra:

  • Usa useState para manejar estado.

  • useEffect reemplaza ciclos de vida.

  • ¡Los Hooks son desde React 16.8!

¿Qué Hook te gustaría aprender primero? ¡Déjalo en los comentarios! 

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