19. Nuestro primer Componente en React JS

 

 Tutorial 19: Nuestro Primer Componente en React JS

馃幆 Objetivo

Aprender a crear, exportar e importar componentes en React paso a paso.

馃搧 Estructura de Archivos

text

src/

├── App.js

└── components/

    ├── HolaMundo.js

    └── AdiosMundo.js


馃殌 Paso 1: Crear la Carpeta de Componentes

  1. Abre tu proyecto React en el editor de c贸digo

  2. Dentro de la carpeta src, crea una nueva carpeta llamada components

  3. Importante: Esta carpeta organizar谩 todos tus componentes


馃З Paso 2: Crear Nuestro Primer Componente

Reglas importantes para componentes:

  • ✅ SIEMPRE empiezan con may煤scula

  • ❌ NUNCA empiezan con min煤scula

Correcto: HolaMundo.js
Incorrecto: holaMundo.js o holamundo.js


Crear el archivo:

  1. En la carpeta components, crea HolaMundo.js

  2. Agrega el siguiente c贸digo:

jsx

// HolaMundo.js

import React from "react";


export default function HolaMundo() {

    return (

        <div>

            <h1>Hola Mundo</h1>

            <h2>Agustin Navarro</h2>

        </div>

    );

}


馃攳 Anatom铆a de un Componente

1. Importaciones (arriba del todo)

jsx

import React from "react";

// Puedes importar otros componentes, CSS, im谩genes, etc.

2. Funci贸n del Componente

jsx

function HolaMundo() {

    // Siempre empieza con may煤scula

    return ( /* contenido JSX */ );

}

3. Return (obligatorio)

jsx

return (

    // Todo el contenido visual del componente

);

4. Exportaci贸n (al final)

jsx

export default HolaMundo;  // Exportaci贸n principal


馃摛 Paso 3: Exportar el Componente

Hay dos formas de exportar:

Opci贸n A: Exportaci贸n inline (recomendada)

jsx

export default function HolaMundo() {

    // c贸digo...

}

Opci贸n B: Exportaci贸n al final

jsx

function HolaMundo() {

    // c贸digo...

}


export default HolaMundo;


馃摜 Paso 4: Importar el Componente en App.js

jsx

// App.js

import React from "react";

import logo from "./logo.svg";

import "./App.css";

import HolaMundo from "./components/HolaMundo";  // ← Importamos


function App() {

    return (

        <div className="App">

            <header className="App-header">

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

                <HolaMundo />  {/* ← Usamos el componente como etiqueta */}

            </header>

        </div>

    );

}


export default App;


⚡ Paso 5: Usar el Componente

Dentro del JSX, usamos el componente como si fuera una etiqueta HTML:

jsx

<HolaMundo />

Resultado en el navegador:

text

Hola Mundo

Agustin Navarro



馃攧 Paso 6: Crear un Segundo Componente (AdiosMundo)

  1. Crea AdiosMundo.js en la carpeta components:

jsx

// AdiosMundo.js

import React from "react";


export default function AdiosMundo() {

    return (

        <div>

            <h3>Adios Mundo</h3>

        </div>

    );

}

  1. Importarlo en App.js:

jsx

// App.js

import React from "react";

import HolaMundo from "./components/HolaMundo";

import AdiosMundo from "./components/AdiosMundo";  // ← Nuevo import


function App() {

    return (

        <div className="App">

            <header className="App-header">

                <HolaMundo />

                <AdiosMundo />  {/* ← Usamos el nuevo componente */}

            </header>

        </div>

    );

}




馃幁 Paso 7: Fragmentos (Fragment)

Problema com煤n:

jsx

// ERROR: Esto dar谩 error

return (

    <h1>T铆tulo</h1>

    <p>Texto</p>

);

Soluciones:

Opci贸n A: Envolver en un div

jsx

return (

    <div>

        <h1>T铆tulo</h1>

        <p>Texto</p>

    </div>

);

Opci贸n B: Usar Fragment (recomendado si no quieres divs extra)

jsx

return (

    <>

        <h1>T铆tulo</h1>

        <p>Texto</p>

    </>

);



馃摑 Ejercicio Pr谩ctico-Crea tu propio componente:

  1. Crea MiComponente.js en components/

  2. Haz que muestre:

    • Tu nombre

    • Tu edad

    • Tu color favorito

  3. Imp贸rtalo y 煤salo en App.js

jsx

// Soluci贸n ejemplo

import React from "react";


export default function MiComponente() {

    return (

        <div>

            <h2>Nombre: [Tu Nombre]</h2>

            <p>Edad: [Tu Edad]</p>

            <p>Color favorito: [Tu Color]</p>

        </div>

    );

}


馃挕 Consejos Importantes

  1. Un componente = Un archivo (generalmente)

  2. Nombres descriptivos: BotonEnviar, TarjetaUsuario, MenuPrincipal

  3. Un solo elemento en return: Siempre envolver en <> o <div>

  4. JavaScript en componentes: Puedes escribir l贸gica antes del return

jsx

function ComponenteConLogica() {

    // Aqu铆 puedes escribir JavaScript

    const nombre = "Juan";

    const saludar = () => {

        console.log("Hola!");

    };

    

    // Despu茅s retornas JSX

    return <h1>Hola {nombre}</h1>;}


✅ Resumen del Proceso

  1. Crear carpeta components dentro de src

  2. Crear archivo con nombre en May煤scula (MiComponente.js)

  3. Estructura b谩sica:

  4. jsx

import React from "react";


export default function NombreComponente() {

    return (

        // JSX aqu铆

    );

  1. }

  2. Importar en App.js: import NombreComponente from "./components/NombreComponente"

  3. Usar en JSX: <NombreComponente />


馃帗 Conceptos Clave

  • Componente: Pieza reutilizable de interfaz

  • JSX: HTML dentro de JavaScript

  • Export/Import: C贸mo compartir componentes entre archivos

  • Fragment: Envoltorio invisible para m煤ltiples elementos


¡Felicidades! 馃帀 Has creado tu primer componente en React. En la siguiente lecci贸n aprenderemos sobre props para hacer componentes m谩s din谩micos


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