19. 1,Nuestro primer Componente en React JS

 

Componentes en React: Una analogía con LEGO

Imagina que React es como construir con bloques de LEGO. Cada pieza de LEGO es un componente.           📦 ¿Qué es un componente?

Un componente es una pieza reutilizable de interfaz que tiene:

  • Su propia lógica (qué hace)

  • Su propia apariencia (cómo se ve)

  • Puede recibir información (como parámetros)

  • Puede combinarse con otros componentes


🧩 Ejemplo Sencillo: Un Botón

Componente más simple (como función):

jsx

// MiBoton.jsx

function MiBoton() {

  return <button>Haz clic aquí</button>;

}

Usando el componente:

jsx

// App.jsx

function App() {

  return (

    <div>

      <h1>Mi App</h1>

      <MiBoton />  {/* ¡Aquí usamos nuestro componente! */}

      <MiBoton />  {/* Podemos usarlo muchas veces */}

    </div>

  );

Resultado: Aparecen dos botones idénticos.


🔧 Componente con información variable (props)

Los componentes pueden recibir información diferente cada vez que los usamos:

jsx

// BotonPersonalizado.jsx

function BotonPersonalizado(props) {

  return <button>{props.texto}</button>;

}


// App.jsx

function App() {

  return (

    <div>

      <BotonPersonalizado texto="Guardar" />

      <BotonPersonalizado texto="Eliminar" />

      <BotonPersonalizado texto="Enviar" />

    </div>

  );

}

Resultado: Tres botones con textos diferentes.







🏗️ Componentes dentro de componentes

Así como un LEGO grande está hecho de piezas más pequeñas:

jsx

// TarjetaPerfil.jsx

function TarjetaPerfil(props) {

  return (

    <div className="tarjeta">

      <h2>{props.nombre}</h2>

      <p>Edad: {props.edad}</p>

      <BotonPersonalizado texto="Contactar" />

    </div>

  );

}


// App.jsx

function App() {

  return (

    <div>

      <TarjetaPerfil nombre="Ana" edad="25" />

      <TarjetaPerfil nombre="Carlos" edad="30" />

    </div>

  );

}


📊 Tipos de Componentes

1. Componentes Funcionales (los más usados hoy)

jsx

function Saludo(props) {

  return <h1>Hola, {props.nombre}!</h1>;

}


2. Componentes de Clase (más antiguos)

jsx

class Saludo extends React.Component {

  render() {

    return <h1>Hola, {this.props.nombre}!</h1>;

  }

}


💡 Beneficios de usar componentes

  1. Reutilización: Un componente hecho, se usa en muchos lugares

  2. Organización: Código más limpio y fácil de mantener

  3. Encapsulación: Cada componente maneja su propio comportamiento

  4. Composabilidad: Puedes combinar componentes pequeños para hacer grandes aplicaciones








🎯 Ejemplo Final Completo

jsx

// Componente Producto

function Producto(props) {

  return (

    <div className="producto">

      <h3>{props.nombre}</h3>

      <p>Precio: ${props.precio}</p>

      <button>Comprar</button>

    </div>

  );

}


// Componente Tienda (usa varios Productos)

function Tienda() {

  return (

    <div>

      <h1>Mi Tienda Online</h1>

      <Producto nombre="Laptop" precio="999" />

      <Producto nombre="Teléfono" precio="499" />

      <Producto nombre="Tablet" precio="299" />

    </div>

  );

}


📝 Resumen

  • Componente = Pieza de LEGO independiente

  • Props = Información que le pasamos al componente

  • JSX = Lo que parece HTML pero es JavaScript

  • Composición = Juntar componentes para hacer aplicaciones complejas

React te permite construir interfaces complejas combinando componentes simples, como construir un castillo con bloques de LEGO.


Comentarios

Entradas más populares de este blog

17-Componentes en React-estado

18-Ciclo de Vida de un Componente React

20. ¿Que son los Props de React?