Johann Enrique Hurtado Salas
Elián Yeltzin Paniagua Mariaca
bien, tu aporte fue un gran complemento a la clase
Alfonso Neil Jiménez Casallas
exactamente eso es lo que iba a mencionar, muchas gracias
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:
¿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:
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:
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:
Carttitle y descriptionUtilizando 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:
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.
Johann Enrique Hurtado Salas
Elián Yeltzin Paniagua Mariaca
bien, tu aporte fue un gran complemento a la clase
Alfonso Neil Jiménez Casallas
exactamente eso es lo que iba a mencionar, muchas gracias
Hola, HTML, CSS, JS, linteres, también ver bien como es generar un template de react, el cual se hace con herramientas diversas y a través de consola de comandos, con un ambiente en consola, como puede ser bun, node.js. En este caso se está usando Vite, que es la herramienta de paquetes la cual está en el top del mercado, para generar un template, post: si no entiendes totalmente ya con esta información encontraras el camino.
Alejandro de Jesús Reséndiz Olguín
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
Alejandro de Jesús Reséndiz Olguín
Lo del Reto:
Ronald Cuello
Juan Ramón García Santabárbara
Company_adminMuy 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
Camilo Gomez
Debes tener buenas bases de Javascript, te recomiendo el curso de fundamentos de javascript
Luis Rodolfo Altuve Cáceres
Es posible que falte ordenar un poco el material de apoyo. Por ejemplo, en la clase siguiente esta el link para el repositorio de los proyecto que la profesora utilizo:
Lo clonas o le haces un fork y usas el proyecto que corresponde a cada una de los módulos/clases, según vayas avanzando.
Sonsire Vidal B.
Debió haber una clase introductoria de cómo crear el proyecto de cero.
John Alexander Rodríguez Sereno
Siento que al curso le falta mostrar la instalación de React y las sugerencias de corrección de errores. Estoy perdido.
Juan Manuel Mena Carrillo
Personalmente pienso que el curso esta mal estructurado. No se entiende por donde se debe comenzar. Lei los comentarios y varios tambien tienen el mismo problema
Maryoris Zamora
Este curso dice ser para principiante, pero seria ideal ver primero que nada como inicio mi proyecto, es mas que digan como llegamos a usar vite? para poder renderizar mi poryecto
Gustavo Pú
Si quieres profundizar más, puedes visitar esta wiki del poderosísimo Midudev: .
Ronaldo Jiménez
Si usas .tsx
type CardProps = { title: string description?: string } export default function Card({ title, description }: CardProps) { return ( <div> <h3>{title}</h3> {description && <p>{description}</p>} </div> ) }
Diego Frank Lipa Choque
He programado en Angular y Vue, hasta hora viendo los videos me parece mas fácil creo. 📖📖📖📖
Zain Abimael Barradas Mendoza
logre hacerlo pero siento que no se explica a detalle la funcion de cada apartado ni el cuando abrir paréntesis, llaves, etc
Héctor Avilés
Falta que explique muchas cosas, en la primer clase tampoco habla sobre los React.Fragments, en lugar de colocar su <div>; tampoco aquí menciona que todos los componentes deben empezar en mayúscula, etc. </div>
Nicolás Acuña Niampira
Para los que se quejan de que no explicaron como iniciar el proyecto, en la clase 4 Estefany lo hace, tengan un poco de paciencia. Y otra cosa es que si no entienden Vite.js para eso hay un curso especialmente enfocado en ello
Emanuel Mendoza
Claro, entiendo tu punto. De todas formas siento que es una queja válida. Yo también siento que es un problema de estructuración.
Jhorman Salazar
En React, export default y export son dos formas de exportar componentes:
export default: Permite exportar un solo valor por archivo y es la forma más común de exportar componentes. Se puede importar usando cualquier nombre:
export default function MyComponent() { ... }
export: Permite exportar múltiples valores desde un archivo. Debes usar las llaves al importarlo:
export const MyComponent = () => { ... }
En resumen, export default es para un solo componente por archivo, mientras que export es para múltiples exportaciones.
Johan Sebastian
// import reactLogo from './assets/react.svg' // import viteLogo from '/vite.svg' import Card from './components/Card.jsx'; import './App.css'; function App() { const items = ['React', 'JavaScript', 'Vite', 'Svelte']; return ( <> <section> <h1>!Hola mundo¡</h1> <Card title="Frameworks y lenguajes" description="Son nombres de frameworks y lenguajes de codigo" /> <Card title="Frameworks y lenguajes 2" description="Son nombres de frameworks y lenguajes de codigo 2" /> <Card title="Card de frameworks" description="Son card de frameworks reutilizables" /> <ul> { items.map((item, index) => ( <li key={index}>{item}</li> )) } </ul> </section> </> ) } export default App
Edward Quisocala Machaca
Jose Leonardo Camacho
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} /> ))} </> ) }
Fabian Silva
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 = <h2>Hola Mundo</h2>;
En este caso, <h2>Hola Mundo</h2> es JSX, y el código JavaScript lo interpreta como un objeto que se puede renderizar en la interfaz.
Tambien se pueden trabajar esas mismas props mapeandolas para listar de una la informacion de un arreglo y objeto por ejemplo:
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} /> ))} </> ) }
Vengo del futuro y les dejo esta chuletilla:
## Creación del entorno de trabajo
1. 📂 Crear el directorio del proyecto
mkdir academia-react-js
2. Entrar al directorio
cd academia-react-js
3. ⚡ Inicialización con Vite
npm create vite@latest ./
> **Nota**: El ./ indica que el proyecto debe generarse en la carpeta actual, sin crear otro subdirectorio.
4. Seleccionar Framework:
[x] React
5. Seleccionar Variante:
Para comenzar con la menor fricción, selecciona **JavaScript**:
[x] Javascript
6. Rolldown (Experimental)
Use rolldown-vite (Experimental)? No
7. Instalación automática
Install with npm and start now? YES
### ✔ Resultado
Al finalizar, Vite levantará el servidor local:
http://localhost:5173