馃摛 C贸mo usar props en React para pasar datos entre componentes

React Props

馃摛 C贸mo usar props en React para pasar datos entre componentes

En React, los props (abreviatura de "properties") permiten pasar datos de un componente padre a un componente hijo. Esto hace que los componentes sean din谩micos y reutilizables, evitando hardcodear informaci贸n dentro de ellos.


1️⃣ Componente padre pasando props

El componente padre env铆a datos como atributos al hijo:

function Child(props) {
  return <h2>Hola, {props.name}!</h2>;
}

function Parent() {
  return <Child name="Ana" />;
}

ReactDOM.createRoot(document.getElementById('root')).render(<Parent />);
  
Hola, Ana!

2️⃣ Pasar m煤ltiples props

Podemos enviar m谩s de un prop para que el componente hijo tenga m谩s informaci贸n:

function Profile(props) {
  return (
    <div>
      <h2>{props.name}</h2>
      <p>Edad: {props.age}</p>
      <p>Ciudad: {props.city}</p>
    </div>
  );
}

ReactDOM.createRoot(document.getElementById('root')).render(
  <Profile name="Jorge" age={30} city="Barcelona" />
);
  
Jorge
Edad: 30
Ciudad: Barcelona

3️⃣ Props con valores din谩micos

Los props no tienen que ser solo texto, pueden ser variables, funciones o incluso objetos:

const user = {
  name: "Ana",
  age: 28
};

function UserCard(props) {
  return <h3>{props.user.name} tiene {props.user.age} a帽os.</h3>;
}

ReactDOM.createRoot(document.getElementById('root')).render(<UserCard user={user} />);
  
Ana tiene 28 a帽os.

4️⃣ Buenas pr谩cticas al usar props

  • ✅ Nombrar los props de manera clara y descriptiva.
  • ✅ Evitar modificar los props dentro del componente hijo (son inmutables).
  • ✅ Usar destructuraci贸n para simplificar el acceso a los props.
  • ✅ Documentar los props esperados para cada componente.

5️⃣ Destructuraci贸n de props

Para un c贸digo m谩s limpio, podemos usar destructuraci贸n:

function Profile({ name, age, city }) {
  return (
    <div>
      <h2>{name}</h2>
      <p>Edad: {age}</p>
      <p>Ciudad: {city}</p>
    </div>
  );
}

ReactDOM.createRoot(document.getElementById('root')).render(
  <Profile name="Jorge" age={30} city="Barcelona" />
);
  

Publicar un comentario

0 Comentarios