18. Autocompletado de componentes

 Tutorial: Autocompletado de Componentes en React

馃搶 Objetivo

Aprender a crear componentes en React y c贸mo importarlos usando autocompletado para mejorar la eficiencia al programar.


馃З Paso 1: Crear un nuevo componente

Vamos a crear un componente llamado Usuarios:

  1. Ve a la carpeta src/components/

  2. Crea un archivo llamado Usuarios.jsx

  3. Escribe el siguiente c贸digo:

jsx

export function Usuarios() {

  return <h1>Soy usuarios</h1>;

}

Observaciones importantes:

  • El nombre del componente empieza con may煤scula: Usuarios

  • Exportamos la funci贸n directamente con export al principio

  • Esto nos permitir谩 usar autocompletado al importarlo


馃З Paso 2: Importar el componente con autocompletado

En src/index.jsx, vamos a importar nuestro nuevo componente:

jsx

import React from 'react';

import ReactDOM from 'react-dom/client';

import './index.css';

import { Coffee } from './components/Coffee';

import { Usuarios } from './components/Usuarios'; // ← ¡Autocompletado disponible!


const root = ReactDOM.createRoot(document.getElementById('root'));

root.render(

  <React.StrictMode>

    <Coffee />

    <Usuarios /> {/* ← Usamos el componente aqu铆 */}

  </React.StrictMode>

);


馃攳 ¿C贸mo funciona el autocompletado?

Cuando usas la sintaxis de importaci贸n con llaves {}:

jsx

import { NombreComponente } from './ruta';

VS la sintaxis sin llaves:

jsx

import NombreComponente from './ruta';

La primera forma activa el autocompletado en la mayor铆a de editores (VS Code, WebStorm, etc.) porque:

  1. El editor puede buscar todas las exportaciones del archivo

  2. Te sugiere autom谩ticamente los nombres disponibles

  3. Evita errores de tipeo


馃毃 Regla importante: Nombres en May煤scula

React necesita que los componentes empiecen con may煤scula:

  • ✅ Usuarios, Coffee, Header

  • ❌ usuarios, coffee, header

¿Por qu茅?

  • React distingue entre componentes propios (<Usuario />) y elementos HTML (<div />)

  • Si usas min煤scula, React lo interpretar谩 como una etiqueta HTML y buscar谩 en el DOM


馃З Paso 3: Comparaci贸n de m茅todos de exportaci贸n

M茅todo 1: Con autocompletado (Recomendado)

jsx

// En Usuarios.jsx

export function Usuarios() {

  return <h1>Soy usuarios</h1>;

}


// En index.jsx

import { Usuarios } from './components/Usuarios';

M茅todo 2: Sin autocompletado

jsx

// En Usuarios.jsx

function Usuarios() {

  return <h1>Soy usuarios</h1>;

}

export default Usuarios;


// En index.jsx

import Usuarios from './components/Usuarios';

Ventajas del m茅todo 1:

  • Autocompletado autom谩tico

  • Menos c贸digo (no necesitas l铆nea extra de export default)

  • M谩s claro visualmente


馃幆 Beneficios de trabajar con componentes

  1. Modularidad: Cada componente es una pieza independiente

  2. Reutilizaci贸n: Puedes usar el mismo componente en diferentes lugares

  3. Mantenibilidad: Es m谩s f谩cil encontrar y corregir errores

  4. Organizaci贸n: Tu proyecto se estructura como un LEGO de componentes

Ejemplo de estructura visual:

text

P谩gina Principal

├── <Header />

├── <Coffee />

├── <Usuarios />

├── <Cards />

└── <Footer />


馃挕 Consejos adicionales

  1. Nomenclatura: Usa nombres descriptivos en PascalCase

  2. Un componente por archivo: Mejor organizaci贸n

  3. Carpetas organizadas: Agrupa componentes relacionados

  4. Extensiones: Usa .jsx para componentes de React


馃摑 Resumen

  • Crear componentes con nombres en may煤scula

  • Usar export function NombreComponente() para habilitar autocompletado

  • Importar con llaves: import { Componente } from './ruta'

  • Aprovechar el autocompletado para evitar errores y escribir m谩s r谩pido

  • Disfrutar de la modularidad que ofrece React


馃殌 Pr谩ctica sugerida

  1. Crea un componente Header.jsx con un men煤 de navegaci贸n

  2. Crea un componente Footer.jsx con informaci贸n de contacto

  3. Importa ambos en index.jsx usando autocompletado

  4. Experimenta cambiando los nombres a min煤scula para ver los errores

¡Ahora puedes construir aplicaciones React como un profesional, pieza por pieza! 


Comentarios

Entradas m谩s populares de este blog

29. useEffect

11. Creando un proyecto react con create-react-app

21. Props para objetos