logoImagina
iconCurso
Te recomendamos nuestro curso de React 19
Descubre el curso de React 19
Ir al curso

Aprende React JS – Tutorial de Primeros Pasos

iconImage
Escrito por Equipo de Imagina
Actualizado el 15-07-2024
Duración: 30 min

Bienvenido/a al primer tutorial de React JS desde cero de Imagina Formacion. En este tutorial, aprenderás los conceptos básicos del framework React JS y cómo empezar a construir aplicaciones web modernas y dinámicas. Con este tutorial, te convertirás en un desarrollador de React en poco tiempo. Sin embargo, si deseas aprender React JS y ampliar tus conocimentos te recomendamos que consultes nuestro curso de React JS.

Logo de React

¿Qué es React JS?

React JS es una librería de JavaScript de código abierto desarrollado por Facebook. Es ampliamente utilizado para construir interfaces de usuario (UI) interactivas y reutilizables. React utiliza un enfoque basado en componentes, lo que significa que puedes crear componentes individuales y combinarlos para construir aplicaciones web complejas.

¿Qué hace diferente a React JS de otras librerias?

Lenguaje JSX

Utiliza el lenguaje JSX para construir la interfaz de usuario, por lo que si dominas HTML podrás con gran facilidad crear tus propios componentes y su comportamiento. JSX crea plantillas donde se pueden anidar elementos, por lo que podrás crear componentes tan pequeños o grandes como creas conveniente.

Virtual DOM eficiente

React JS usa un DOM Virtual que recarga individualmente cada componente cuando haga falta, por lo que ofrece una gran velocidad a la hora de renderizar vistas.

Componentes reutilizables

Los componentes reutilizables son totalmente independientes y contienen su propio comportamiento, un estado y el contenido a renderizar. Éstos,  contienen elementos que se pueden anidar, igual que podemos anidar componentes y que se comuniquen entre ellos.

Las aplicaciones en React JS tienen un estado global que repercute en el estado individual de cada componente.

Renderización HTML en servidor

El isomorfismo (renderización HTML en servidor como en cliente)  de ReactJS ofrece la posibilidad de entregar el HTML ya renderizado a los buscadores web, como Google, y así mejorar el posicionamiento. De esta manera se evita el problema de que el buscador se encuentre el cuerpo de la página vacío).

Beneficios de usar React.JS

React JS ofrece numerosas ventajas que lo convierten en una opción preferida para el desarrollo de aplicaciones web modernas. Uno de los principales beneficios es su rendimiento óptimo. Gracias al uso del Virtual DOM, React minimiza las operaciones costosas en el DOM real, lo que se traduce en una carga y actualización de la interfaz de usuario más rápidas.

Otra ventaja significativa de React es su modularidad. Al permitir a los desarrolladores crear componentes independientes que pueden reutilizarse en toda la aplicación, React facilita el mantenimiento y la escalabilidad de los proyectos. Esto no solo ahorra tiempo y recursos, sino que también mejora la coherencia del código y reduce la probabilidad de errores.

React también es altamente versátil, ya que puede ser utilizado tanto en el desarrollo de aplicaciones web como móviles (a través de React Native), lo que permite a los desarrolladores mantener una base de código uniforme para múltiples plataformas. Además, React se integra bien con otras bibliotecas y frameworks, lo que proporciona flexibilidad para adoptar las mejores prácticas y herramientas adicionales según sea necesario.

ReactJS VS Otros Frameworks

Comparado con otros frameworks populares como Angular y Vue, React tiene varias características distintivas. A diferencia de Angular, que es un framework completo, React es una biblioteca específicamente centrada en la vista, lo que le otorga una curva de aprendizaje más suave y una mayor flexibilidad para integrarse con diferentes arquitecturas sin imponer restricciones en la estructura del proyecto.

En comparación con Vue, que también utiliza un enfoque basado en componentes, React tiene una comunidad más grande y un ecosistema más desarrollado, lo que se traduce en una mayor disponibilidad de recursos de aprendizaje, librerías y herramientas de desarrollo. Vue, por otro lado, es a menudo elogiado por su simplicidad y menor tamaño de sintaxis, lo que puede ser beneficioso para proyectos más pequeños o para equipos con menos experiencia en JavaScript.

¿Cómo crear un proyecto React? Tutorial desde cero

Paso 1. Descargar Node.js

Para facilitar la creación de un proyecto, su estructura de carpetas, hacer uso de librerías externas y el despliegue local de la aplicación usaremos npm. Para hacer uso de ello tenemos que tener descargado e instalado Node.js en nuestro equipo.

Puedes descargarlo en la web oficial de Node.

Instalador de Node.js

Si quieres profundizar más en este lenguaje tienes a tu disposición nuestro curso online de Node.js

Paso 2. Instalar create-react-app

Gracias a create-react-app podremos, con un simple comando, crear nuestra primera aplicación con React JS. Para instalar este paquete, usaremos npm y lo instalaremos de forma global usando el parametro -g.

Deberás abrir la consola de comandos (cmd en Windows, Terminal en Mac) y escribir lo siguiente:

1npm install -g create-react-app

Este paso suele ser algo largo, pero sabremos identificar cuando ha terminado de instalar con facilidad.

Paso 3. Crear proyecto React con create-react-app

Con la consola de comandos y haciendo uso del comando cd nos colocaremos en la carpeta donde queremos que se almacene nuestro proyecto de React JS. Por ejemplo, vamos a crearlo dentro de la carpeta react que se encontrará en el Escritorio: cd C:\Users\nombreUsuario\Desktop\react. Donde nombreusuario es el nombre tu usuario y react la carpeta que debes haber creado previamente en el escritorio.

Una vez que ya estamos colocados en la carpeta que queremos, simplemente usaremos create-react-app para crear el proyecto, que llamaremos, por ejemplo, prueba-react.

1create-react-app prueba-react

La creación puede que lleve un rato, pero sabremos que ha acabado cuando salga un mensaje de éxito y nos indique que el proyecto ya está disponible en el directorio donde nos situábamos. También nos indicará los siguientes dos pasos a seguir si queremos desplegarlo en local (se explicará más adelante en este tutorial)

Comandos de npm para crear un servidor de desarrollo

Cuando haya terminado de ejecutar, podremos entrar en la carpeta react y apreciar que se ha creado una nueva carpeta llamada prueba-react. Dentro encontraremos el proyecto distribuido en una serie de carpetas y ficheros.

Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *

Paso 4. Comprender la Estructura del Proyecto creado

Es importante conocer la estructura del proyecto, dado que será la base de nuestra aplicación. Por defecto, create-react-app crea la siguiente estructura:

Estructura de un proyecto en React JS

Vamos a analizar el contenido de los distintos elementos generados:

  • Carpeta node_modules

Aquí se guardan todas las dependencias ppm del proyecto que vayamos necesitando. Create-react-app ya nos habrá instalado unas cuantas por defecto.

  • Carpeta public

Esta es la raíz del proyecto y aquí estará el archivo principal: index.html y el favicon: icono que aparecerá en la pestaña del navegador cuando despleguemos la aplicación. Habrá una etiqueta 

 dentro de index.html con un id "root" que nos indica dónde se va a introducir el componente principal (App.js) de nuestra aplicación.

Contenido de la carpeta public
  • Carpeta src

En esta carpeta, es donde están los componentes y sus estilos, a parte de otros ficheros js que necesitemos. Por defecto, el componente principal de todo proyecto React JS se llama App.js. También habrá un index.js que se encarga de introducir el componente App en el

de index.html que hemos mencionado en el punto anterior.

Encontramos a la misma altura, las hojas de estilo: App.css e index.css; una imagen (svg) del logo de React JS; un archivo para realizar tests sobre el componente App y un archivo javascript llamado registerServiceWorker.js.

Contenido de la carpeta src
  • Archivo readme.md

Se trata de un fichero de informacion sobre el proyecto.

  • Archivo package.json

Aquí encontramos las dependencias de npm que hayamos instalado en el proyecto, tanto para desarrollo como para producción.

  • Archivo .gitignore

Documento donde se definen aquellos archivos a ignorar en git.

Paso 5. Desplegar el proyecto y visualizarlo en el navegador

El proyecto a estas alturas es perfectamente desplegable. Obviamente, es el proyecto por defecto que nos ha ofrecido create-react-app.

Para poder desplegar el proyecto en nuestro entorno local (localhost) usaremos un comando npm que nos abrirá el navegador que tengamos predeterminado y en una pestaña nueva nos mostrara la interfaz de usuario definida. Tenemos que estar en la carpeta del proyecto, por lo que haremos cd para entrar en pruebaReact y desde ahí podremos hacer:

1npm start

Una vez ejecutado, nos debe salir un mensaje de éxito como el siguiente:

Vista del proyecto inicial en el navegador

y si entramos en http:// localhost:3000/ podremos ver lo siguiente:

Vista del proyecto al entrar en localhost

Creación de un Componente y Hola Mundo

Como hemos comentado mas arriba, la base de React JS son los componentes. Es por ello que es imprescindible comprender como crear uno y como renderizarlo en nuestro proyecto.

Cuando desarrollamos componentes de React JS, debemos tratar de individualizarlos lo máximo posible para que podamos usarlos en otros proyectos, ya sean existentes o nuevos.

En esta ocasión vamos a crear un componente llamado (Saludo.js) - en React, los componentes deben comenzar con mayúscula - que renderizará el famoso mensaje de Hola Mundo.

Crearemos Saludo.js a la misma altura de carpetas que App.js para simplificar, dejaremos el header con el logo de React y únicamente cambiaremos el cuerpo de App.js añadiendo una etiqueta  que será nuestro nuevo componente.

  • Saludo.js

Haciendo uso de ES6, definiremos Saludo.js como una clase que va a heredar todo aquello que tiene un componente React (Component).

El método render de la clase Saludo, básicamente devuelve un JSX con un título cuyo contenido es Hola Mundo. También tenemos definido un constructor donde se define el estado del componente y donde podremos acceder y definir las propiedades y comportamiento del componente.

Para poder hacer uso de este componente en App.js y renderizarlo, debemos exportarlo (export default) con un nombre. En este caso Saludo.

1import React, { Component } from 'react'; 2 3class Saludo extends Component { 4 render() { 5 return ( 6 <h1> 7 Hola Mundo! 8 </h1> 9 ); 10 } 11} 12 13export default Saludo;
  • App.js

El componente principal de todo proyecto que use React JS es App.js y es el encargado de contener todos los componentes necesarios para la aplicación, ya sean propios o externos. En nuestro caso, App.js sera el encargado de renderizar un componente Saludo para que así podamos ver por pantalla "Hola Mundo".

Para poder hacer uso de la etiqueta debemos importarlo al comienzo del fichero. Debes editar el archivo para que quede de la siguiente manera:

1import React, { Component } from 'react'; 2import Saludo from './Saludo' 3import logo from './logo.svg'; 4import './App.css'; 5 6class App extends Component { 7 render() { 8 return ( 9 <div className="App"> 10 <header className="App-header"> 11 <img src={logo} className="App-logo" alt="logo" /> 12 <h1 className="App-title">Welcome to React</h1> 13 </header> 14 <Saludo /> 15 </div> 16 ); 17 } 18} 19 20export default App;
  • index.js

En este archivo se define cómo incrustar nuestro componente principal (App), que contendrá en su interior el componente Saludo que hemos creado un poco mas arriba. Haciendo uso de la clase ReactDOM, podremos renderizar App en nuestro unico fichero html: index.html.

Concretamente renderizará App en el elemento HTML que contenga el id "root".

1import React from 'react'; 2import ReactDOM from 'react-dom'; 3import './index.css'; 4import App from './App'; 5import registerServiceWorker from './registerServiceWorker'; 6 7ReactDOM.render(<App />, document.getElementById('root')); 8registerServiceWorker();
  • index.html

Este es el HTML de nuestro proyecto que contendrá el componente App y éste a su vez, contendrá el nuevo componente Saludo. Puedes apreciar el elemento donde se va a introducir, ya que dispone del id root.

¡Felicidades! Has conseguido crear tu primera aplicación de React

Como habrás podido apreciar, los cambios que vayas haciendo en cualquiera de los archivos o carpetas, se ven rápidamente reflejados en el navegador sin la necesidad de re-desplegar manualmente. Una vez hemos realizado nuestro componente Saludo y lo hemos introducido en el componente App.

¡Ya tienes un Hola Mundo creado usando componentes de React JS!

Aprender React con el Mejor Curso

En este tutorial, has aprendido los fundamentos y cómo usar React JS y has dado tus primeros pasos en la creación de una aplicación con esta biblioteca. Has configurado tu entorno de desarrollo, creado componentes, utilizado JSX y renderizado tu aplicación. ¡Felicidades por llegar hasta aquí!

En nuestro curso de React JS, te sumergirás en los conceptos avanzados de React y aprenderás a construir aplicaciones web sofisticadas y de alto rendimiento. Desde el enrutamiento hasta el manejo del estado global, explorarás técnicas y mejores prácticas para llevar tus habilidades de desarrollo de React al siguiente nivel.

Recuerda que seguir practicando y construyendo proyectos reales te ayudará a consolidar tus conocimientos y crecer como desarrollador de React. ¡Sigue explorando las posibilidades infinitas de React JS y disfruta de la experiencia de construir aplicaciones web increíbles!

Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *
Tutoriales relacionados
¿Qué es Symfony? El Mejor Framework PHP
¿Por qué elegir Symfony para tu próximo proyecto web? Seguridad, velocidad y flexibilidad son solo el inicio de lo que este framework PHP tiene para ofrecer
React vs Angular: ¿Cuál es Mejor?
.Descubre las diferencias clave entre React y Angular para determinar cuál es mejor para tus necesidades de desarrollo
Cómo hacer Animaciones usando CSS3 transitions
Transforma tu web con animaciones deslumbrantes. Descubre cómo crear efectos cautivadores con CSS3 transition. ¡Haz clic y sorpréndete!
Tutorial ASP.NET Core, aprende desde cero
Domina ASP.NET Core rápidamente con nuestros consejos prácticos. Aprende a construir aplicaciones web poderosas en menos tiempo. ¡Explora ahora!
¿Qué es React? Definición, Características y Funcionamiento
react
artículo
Domina los conceptos esenciales de React JS, desde la instalación inicial hasta la creación de componentes y la gestión del estado de tus aplicaciones.
Descubre
Tabla de contenido
¿Qué es React JS?
¿Qué hace diferente a React JS de otras librerias?
Lenguaje JSX
Virtual DOM eficiente
Componentes reutilizables
Renderización HTML en servidor
Beneficios de usar React.JS
ReactJS VS Otros Frameworks
¿Cómo crear un proyecto React? Tutorial desde cero
Paso 1. Descargar Node.js
Paso 2. Instalar create-react-app
Paso 3. Crear proyecto React con create-react-app
Paso 4. Comprender la Estructura del Proyecto creado
Paso 5. Desplegar el proyecto y visualizarlo en el navegador
Creación de un Componente y Hola Mundo
Aprender React con el Mejor Curso
Descubre la formación a tu medida
Rellena el formulario para obtener más información sobre los cursos.
Tamaño de la empresa *
Términos y condiciones *