Introducción a React y Preparación del Entorno

1

Aprende React: Desarrollo Web y Mobile Eficiente y Escalable

Fundamentos de Componentes y JSX

2

Creación de Componentes con JavaScript y React

3

Creación de Componentes Reutilizables con Props en React

Quiz: Fundamentos de Componentes y JSX

Manejo del Estado y Hooks Básicos

4

Estado Local en React: Uso de useState para Contadores

5

Creación y manejo de estados en un Toggle Button con React

6

Eventos y manejo de estado en React: name form interactivo

7

Uso de useEffect para Manejar Efectos Secundarios en React

Quiz: Manejo del Estado y Hooks Básicos

Estilización de Componentes

8

Estilos en React: CSS, SaaS y Módulos CSS

9

Estilos en Línea en React: Uso y Mejores Prácticas

10

Creación de Botones Reactivos con Styled Components en React

11

Instalación y Uso de Tailwind CSS en Proyectos Web

Quiz: Estilización de Componentes

Trabajo con Datos y APIs

12

Creación de Componentes con Datos Estáticos en React

13

Creación de un Componente User List con Fetch en React

14

Manejo de Errores y Carga en Fetch para Componentes React

15

Optimización de Fetch con useEffect y Dependencias en React

Quiz: Trabajo con Datos y APIs

Componentes Avanzados y Estado Global

16

Manejo de estados complejos en React con useReducer

17

Context API en React: Manejo de Estados Globales y Proveedores

18

Creación de Hooks Personalizados en React para Contadores Reutilizables

19

Optimización de Componentes en React con React.memo y Hooks

Quiz: Componentes Avanzados y Estado Global

Introducción a TypeScript en React

20

Componentes con TypeScript en React: Tipado de Props y Funciones

21

Tipado de Estados y Funciones en TypeScript para React

22

Tipado de useReducer y Context API en TypeScript

Quiz: Introducción a TypeScript en React

Nuevas Características de React 19

23

Novedades y Mejoras en React 19 para Desarrolladores

24

Fundamentos y Actualización Continua en React

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de React.js

Curso de React.js

Estefany Aguilar

Estefany Aguilar

Creación de Componentes Reutilizables con Props en React

3/24
Recursos

La reutilización de componentes es uno de los pilares fundamentales de React que permite a los desarrolladores crear aplicaciones web eficientes y mantenibles. Al dominar el concepto de props (propiedades), podrás construir interfaces de usuario dinámicas y escalables sin repetir código innecesariamente. Esta capacidad de crear estructuras base que pueden adaptarse a diferentes contextos es lo que hace de React una herramienta tan poderosa para el desarrollo frontend moderno.

¿Qué son los componentes reutilizables en React?

Los componentes reutilizables son estructuras de código que pueden utilizarse múltiples veces en una aplicación, cambiando únicamente ciertos elementos internos como textos, imágenes o estilos. Esto nos permite mantener la consistencia en nuestra interfaz y ahorrar tiempo de desarrollo.

Por ejemplo, si necesitamos crear varias tarjetas (cards) en nuestra aplicación, en lugar de escribir el código HTML para cada una de ellas, podemos crear un componente base y simplemente modificar su contenido según sea necesario. Esto es especialmente útil cuando trabajamos con elementos que comparten la misma estructura pero difieren en su contenido.

La reutilización de componentes nos permite:

  • Mantener un código más limpio y organizado
  • Reducir la duplicación de código
  • Facilitar el mantenimiento de la aplicación
  • Crear interfaces consistentes
  • Ahorrar tiempo de desarrollo

¿Qué son las props en React?

Las props (abreviatura de "properties" o propiedades) son el mecanismo que React utiliza para pasar datos de un componente padre a un componente hijo. Funcionan como parámetros que permiten personalizar los componentes y hacerlos verdaderamente reutilizables.

Las props pueden ser de diferentes tipos:

  • Strings (cadenas de texto)
  • Números
  • Booleanos
  • Objetos
  • Arrays
  • Funciones

Esta versatilidad nos permite adaptar nuestros componentes a diferentes contextos y necesidades, manteniendo la misma estructura base.

¿Cómo crear componentes reutilizables con props?

Para crear componentes reutilizables en React, debemos seguir una estructura organizada y aprovechar el sistema de props. Veamos cómo hacerlo paso a paso:

Creando la estructura de carpetas

Primero, es recomendable organizar nuestros componentes en una carpeta específica:

  1. Crear una carpeta llamada "components" en la raíz del proyecto
  2. Dentro de esta carpeta, podemos crear archivos individuales para cada componente

Implementando un componente de tarjeta (Card)

Vamos a crear un componente de tarjeta simple que acepte un título y una descripción como props:

const Cart = ({ title, description }) => {
  return (
    <div>
      <h2>{title}</h2>
      <p>{description}</p>
    </div>
  );
};

export default Cart;

En este ejemplo:

  • Creamos un componente funcional llamado Cart
  • Utilizamos la desestructuración de objetos para extraer las props title y description
  • Renderizamos un div que contiene un encabezado h2 con el título y un párrafo p con la descripción
  • Exportamos el componente para poder utilizarlo en otras partes de la aplicación

Utilizando el componente en nuestra aplicación

Una vez creado el componente, podemos importarlo y utilizarlo en cualquier parte de nuestra aplicación:

import Cart from './components/Cart';

function App() {
  return (
    <div className="App">
      <Cart 
        title="Cart uno" 
        description="Esta es una descripción" 
      />
      <Cart 
        title="Cart número dos" 
        description="Esta es otra descripción" 
      />
    </div>
  );
}

export default App;

Como podemos observar, estamos utilizando el mismo componente Cart dos veces, pero con diferentes valores para sus props. Esto nos permite mantener la misma estructura pero con contenido personalizado para cada instancia.

¿Cómo extender la funcionalidad de nuestros componentes?

Los componentes reutilizables pueden ser tan simples o complejos como necesitemos. Podemos expandir nuestro componente Cart para incluir más elementos:

const Cart = ({ title, description, imageUrl, buttonText, buttonPosition }) => {
  return (
    <div className="cart">
      <img src={imageUrl} alt={title} />
      <h2>{title}</h2>
      <p>{description}</p>
      <button className={`btn ${buttonPosition}`}>{buttonText}</button>
    </div>
  );
};

export default Cart;

Con esta implementación, nuestro componente ahora puede recibir:

  • Una URL de imagen
  • Un texto para el botón
  • La posición del botón (que podría ser "left" o "right")

Esto demuestra la flexibilidad de las props para adaptar nuestros componentes a diferentes necesidades sin tener que crear múltiples versiones del mismo componente.

La capacidad de crear componentes reutilizables con props es una de las características más poderosas de React. Te animo a que experimentes creando tus propios componentes y explorando las diferentes formas en que puedes utilizarlos en tus proyectos. ¿Has logrado crear una tercera tarjeta con un título y descripción diferentes? Comparte tus experiencias y dudas en la sección de comentarios.

Aportes 14

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Tambien se pueden trabajar esas mismas props mapeandolas para listar de una la informacion de un arreglo y objeto por ejemplo: ```js function App() { const info = [ {title: 'Card 1', description: 'descripcion de la card 1'}, {title: 'Card 2', description: 'descripcion de la card 2'}, {title: 'Card 3', description: 'descripcion de la card 3'}, ] return ( <> {info.map((card, index) => ( <Card key={index} title={card.title} description={card.description} /> ))} ) } ```
pero... en qué momento se ve toda la configuración del proyecto? cual es el proceso para instalarlo?
Si quieres profundizar más, puedes visitar esta wiki del poderosísimo **Midudev**: <https://www.reactjs.wiki/>.
Muy buenas, Creo que pese a ser un curso de iniciación a React me da la sensación que necesito más información de base. ¿Cuál sería el primer curso a realizar en la Plataforma para comenzar con React? Muchas gracias
Usen este comando en la terminal para crear el proyecto: `npm create vite@latest --NOMBRE DE TÚ PROYECTO` Después entren a la carpeta (en mi caso uso WSL) entre con: `cd NOMBRE DE TÚ PROYECTO` Después instalas las dependencias necesarias con: `npm i` Y luego lo corres con: `npm ren dev` YA DESPUÉS LO EDITAS COMO TE DICE EL VIDEO (Espero te sirva homie) salu2 y suerte
***Props***: Cambiar la estructura interna del componente para hacer reutilizable el código
Los que quieren crear el entorno como lo tiene la profe en vs code es este comando npm create vite@latest my-app -- --template react
No me parecio tan chevere que no empezaran el proyecto desde 0 como siempre lo hacen, no se si es de Platzi o es el profesor, me gustaria que fuera como todos los cursos, desde 0.
Hice cuatro cards es increiblemente fácil comparado con cuando cada card tenia que ser creada manualmente una a una
En mi caso me equivoque, y puse a instalar con Vite el proyecto pero react con Typescript, y todo esto no me funcionaba, tenia que tiparlo de nuevo.
Entiendo el objetivo de ir al punto a lo que vienen siendo componentes y props, pero también me gustaría agregar que es importante el orden en el cual se habla del contenido del curso, ya que al ser un curso basico de react o el de iniciación según la ruta de front-end con React, se estan dando pasos muy grandes y obviando cosas. Esto lo hago desde el punto de vista de estudiante que ya maneja React un poco mas avanzado. Me gustaría sugerir que se puede coger un proyecto que se haya hecho en los cursos de HTML que contenga componentes e ir armando este mismo proyecto en Vite, para que se pueda dar un aspecto mas claro, de como se puede estructurar o abordar dicho proyecto, algo muy parecido al forEach inicial donde se crea un \
    con \
  • dentro. Con esto y como se debe crear un proyecto en Vite puede ser un buen punto de partida. Entiendo el objetivo de incentivar a buscar e investigar por cuenta de uno, pero esto no deja de lado en como se podría mejorar el contenido del curso.
## 3.1 Crear un proyecto React 🚀 ### 1️⃣ Cómo crear el proyecto como el de la clase (con [Vite.js](https://vite.dev/guide/#scaffolding-your-first-vite-project)) `npm create vite@latest my-react-app -- --template react` [**📷 Screenshot**](https://imgur.com/kAiojl4) ### 2️⃣ Cómo crear un proyecto según la [documentación de React](https://es.react.dev/learn/start-a-new-react-project#production-grade-react-frameworks) 1. Elegir un framework, ellos recomiendan Next.js, Remix y Gatsby 2. Ejecutar el comando en la consola, seguir los pasos, elegir las opciones y configuraciones para nuestro proyecto * [**Next.js**](https://nextjs.org/) `npx create-next-app@latest` [📷 Screenshot](https://imgur.com/a/tEjhiOC) * [Remix](https://remix.run/) `npx create-remix` [📷 Screenshot](https://imgur.com/xwtt8th) * [Gatsby](https://remix.run/) `npx create-gatsby` [📷 Screenshot](https://imgur.com/nb2Xm5M)
Es importante aclarar por que la extención es JSX (JavaScript XML) es una extensión de la sintaxis de JavaScript que permite escribir código similar a HTML dentro de archivos JavaScript. Se utiliza comúnmente en bibliotecas como React para describir cómo debería lucir la interfaz de usuario. Aunque parece HTML, en realidad es JavaScript y necesita ser transformado por herramientas como Babel antes de ser ejecutado en el navegador. Esto hace que el código sea más legible y fácil de escribir, ya que combina la lógica y la estructura de la interfaz en un solo lugar. `const elemento =

Hola Mundo

;` En este caso, `

Hola Mundo

` es JSX, y el código JavaScript lo interpreta como un objeto que se puede renderizar en la interfaz.
Las props, o propiedades, son un mecanismo en React que permite pasar datos desde un componente padre a un componente hijo. Son fundamentales para crear componentes reutilizables, ya que permiten modificar la apariencia y comportamiento de un componente según los datos que se les envíen. Por ejemplo, puedes crear un componente de tarjeta y usar props para personalizar el título y la descripción de cada tarjeta. Esto evita la duplicación de código y facilita el mantenimiento de la aplicación.