21. Pasando props básicos entre componentes

 

21. Pasando props básicos entre componentes en React

Introducción

En este tutorial aprenderemos a usar props en React para crear componentes reutilizables y dinámicos. Los props son propiedades que podemos pasar de un componente padre a un componente hijo.


Paso 1: Crear el componente Saludar

Primero, creamos nuestro componente funcional Saludar.js en la carpeta src/components:

jsx

// src/components/Saludar.js

import React from "react";


export default function Saludar() {

    return (

        <div>

            <h2>Hola Agustín</h2>

        </div>

    );

}

Este componente inicialmente muestra un saludo estático.




Paso 2: Usar el componente en App.js

Importamos y usamos nuestro componente en App.js:

jsx

// src/App.js

import React from "react";

import logo from "./logo.svg";

import "./App.css";

import Saludar from "./components/Saludar";


function App() {

    return (

        <div className="App">

            <header className="App-header">

                <img src={logo} className="App-logo" alt="logo" />

                <Saludar />

                <Saludar />

            </header>

        </div>

    );

}


export default App;

En este punto, ambos componentes muestran "Hola Agustín".






Paso 3: Introducir props

Modificamos Saludar.js para aceptar props:

jsx

// src/components/Saludar.js

import React from "react";


export default function Saludar(props) {

    console.log(props);

    return (

        <div>

            <h2>Hola {props.name}</h2>

        </div>

    );

}

IMPORTANTE: Para usar variables en JSX, debemos envolverlas entre llaves {}.


Paso 4: Pasar props desde App.js

Ahora pasamos diferentes nombres a cada componente:

jsx

// src/App.js

function App() {

    return (

        <div className="App">

            <header className="App-header">

                <img src={logo} className="App-logo" alt="logo" />

                <Saludar name="Agustin Navarro Galdon" />

                <Saludar name="Paco" />

            </header>

        </div>

    );

}

Resultado:

  • Primer componente: "Hola Agustin Navarro Galdon"

  • Segundo componente: "Hola Paco"


Paso 5: Añadir más props

Podemos pasar tantas props como necesitemos. Añadamos la edad:

jsx

// src/components/Saludar.js

export default function Saludar(props) {

    console.log(props);

    return (

        <div>

            <h2>Hola {props.name}, tiene {props.edad} años.</h2>

        </div>

    );

}


Paso 6: Pasar múltiples props

jsx

// src/App.js

function App() {

    return (

        <div className="App">

            <header className="App-header">

                <img src={logo} className="App-logo" alt="logo" />

                <Saludar name="Agustin Navarro Galdon" edad="26" />

                <Saludar name="Paco" edad="31" />

            </header>

        </div>

    );

}

Resultado:

  • "Hola Agustin Navarro Galdon, tiene 26 años."

  • "Hola Paco, tiene 31 años."


Paso 7: Ver props en consola

Si revisamos la consola del navegador, veremos que cada instancia del componente recibe un objeto con sus props:

javascript

// Para el primer componente:

{ name: "Agustin Navarro Galdon", edad: "26" }


// Para el segundo componente:

{ name: "Paco", edad: "31" }


Conceptos clave aprendidos

1. Qué son los props

  • Son propiedades que se pasan de un componente padre a un hijo

  • Permiten que los componentes sean reutilizables y dinámicos

  • Llegan al componente como un objeto llamado props

2. Sintaxis para pasar props

jsx

<Componente nombrePropiedad="valor" otraPropiedad="valor2" />

3. Sintaxis para recibir props

jsx

function Componente(props) {

    return <div>{props.nombrePropiedad}</div>;

}


4. Uso de variables en JSX

// Correcto:

<h2>Hola {props.name}</h2>


// Incorrecto (se mostraría literalmente "props.name"):

<h2>Hola props.name</h2>


Ventajas de usar props

  1. Reutilización: Un mismo componente puede usarse con diferentes datos

  2. Dinamismo: Los componentes pueden cambiar su comportamiento según los datos recibidos

  3. Mantenibilidad: Los datos fluyen de forma predecible de padre a hijo

  4. Legibilidad: Es claro qué datos necesita cada componente


Ejercicio práctico

Intenta modificar el componente Saludar para que acepte:

  1. Un prop ciudad que muestre la ciudad de la persona

  2. Un prop profesion que muestre su profesión

  3. Usa todos los props en el saludo final


Conclusión

Los props básicos son la forma más simple de comunicación entre componentes en React. Nos permiten crear componentes genéricos que se especializan según los datos que reciben, lo cual es fundamental para construir aplicaciones escalables y mantenibles.

En el siguiente nivel, aprenderemos a pasar objetos completos, arrays, funciones y otros tipos de datos complejos a través de props


Comentarios

Entradas más populares de este blog

18-Ciclo de Vida de un Componente React

20. ¿Que son los Props de React?

17-Componentes en React-estado