22. Pasando variables y objetos entre componentes por los props
22. Pasando variables y objetos entre componentes por los props
En este tutorial aprenderemos a pasar datos entre componentes de React usando props, tanto variables individuales como objetos completos. Esto nos permite manejar grandes cantidades de información de forma organizada y eficiente.
📌 ¿Por qué pasar objetos en lugar de muchas props?
Imagina que tenemos que pasar 10, 20 o 50 propiedades a un componente. Si lo hacemos una por una, el código se volverá gigantesco y difícil de mantener. La solución es agrupar los datos en un objeto y pasarlo como una sola prop.
🧠 Ejemplo inicial: pasando variables individuales
App.js
import React from "react";
import "./App.css";
import Saludar from "./components/Saludar";
function App() {
const userName = "Agustin Navarro";
const edad = 26;
return (
<div className="App">
<header className="App-header">
<Saludar name={userName} edad={edad} />
</header>
</div>
);
}
export default App;
Saludar.js
jsx
import React from "react";
export default function Saludar(props) {
return (
<div>
<h2>
Hola {props.name}, tienes {props.edad} años.
</h2>
</div>
);
}
✅ Resultado:
Hola Agustin Navarro, tienes 26 años.
🧳 Mejorando con objetos
Si queremos pasar más datos (nombre, edad, color favorito, etc.), es mejor usar un objeto.
App.js (con objeto)
jsx
import React from "react";
import "./App.css";
import Saludar from "./components/Saludar";
function App() {
const user = {
nombre: "Agustin Navarro Galdon",
edad: 26,
color: "Azul"
};
return (
<div className="App">
<header className="App-header">
<Saludar userInfo={user} />
</header>
</div>
);
}
export default App;
📥 Recibiendo el objeto en el componente hijo
Saludar.js
jsx
import React from "react";
export default function Saludar(props) {
// Accedemos a las propiedades del objeto
console.log(props.userInfo.nombre); // Agustin Navarro Galdon
console.log(props.userInfo.edad); // 26
console.log(props.userInfo.color); // Azul
return (
<div>
<p>
Hola {props.userInfo.nombre}, tienes {props.userInfo.edad} años.
Tu color favorito es el {props.userInfo.color}.
</p>
</div>
);
}
✅ Resultado:
Hola Agustin Navarro Galdon, tienes 26 años. Tu color favorito es el Azul.
🧾 Resumen de pasos
Crear un objeto con los datos que quieres pasar.
Pasar el objeto como prop al componente hijo.
Acceder a las propiedades del objeto desde props.nombreDelObjeto.propiedad.
🚀 Ventajas de usar objetos
✅ Código más limpio.
✅ Fácil de escalar (puedes agregar más propiedades sin modificar la llamada al componente).
✅ Mantenible y reutilizable.
🧩 ¿Y si el objeto es muy grande?
Si el objeto tiene muchas propiedades, acceder a cada una con props.userInfo.propiedad puede ser tedioso. En los siguientes tutoriales veremos cómo usar destructuring para simplificar esto.
Ejemplo rápido de destructuring dentro del componente:
jsx
export default function Saludar({ userInfo }) {
const { nombre, edad, color } = userInfo;
return (
<p>Hola {nombre}, tienes {edad} años.</p>
);
}
📌 Conclusión
Hemos aprendido a:
✅ Pasar variables individuales por props.
✅ Pasar objetos completos para agrupar datos.
✅ Acceder a las propiedades de los objetos dentro del componente hijo.
Esto nos permite manejar información de manera más eficiente y prepararnos para componentes más complejos.
👉 En el siguiente video veremos cómo usar destructuring para hacer nuestro código aún más limpio y legible
Comentarios
Publicar un comentario