Publicado el 29/08/2024

JSX: Qué es y Por qué se usa en React (2024)

Índice de Contenidos

Desde siempre, los programadores han seguido un patrón de separación entre el marcado y la lógica en diferentes archivos, donde se emplea HTML para estructurar el contenido, CSS para diseñarlo, y JavaScript para gestionar interacciones y manipulación de datos. Sin embargo, surge la pregunta: ¿qué pasaría si pudiéramos integrar estas tecnologías en una única solución que simplifique el flujo de trabajo y facilite la construcción de interfaces de usuario sofisticadas? Precisamente en este contexto es donde aparece JSX, una herramienta revolucionaria que transforma la forma en que desarrollamos aplicaciones con React y permite combinar la declaración de la estructura con la lógica de una manera más intuitiva y eficiente. ¿Te parece interesante? Continúa leyendo, esto apenas comienza.

¿Qué es JSX?

JSX, o JavaScript XML, es una extensión de sintaxis para JavaScript que permite a los desarrolladores escribir código que se asemejan al HTML dentro de un archivo JavaScript. Principalmente, se utiliza en el marco de trabajo de React para definir cómo debe lucir la interfaz de usuario de una aplicación. Aunque se parece al HTML, JSX permite la integración de lógica de JavaScript, ofreciendo una forma más intuitiva y clara de construir interfaces.

imagen del blog

JavaScript XML fue desarrollada por Meta (antes Facebook).

¿Cómo funciona JSX?

JSX se convierte en JavaScript normal antes de ejecutarse en el navegador.  Esta transformación se realiza mediante una herramienta llamada transpilador. El transpilador más popular para JSX es Babel.

Babel convierte el código JSX en una serie de llamadas a funciones. Estas llamadas a funciones son equivalentes al código HTML escrito en JSX. El navegador puede entonces ejecutar el código JavaScript resultante.

JSX permite combinar la lógica de JavaScript y la representación visual de la interfaz en un solo archivo. Cuando escribimos un componente usando JSX, lo que realmente estamos haciendo es describir el árbol de elementos que queremos crear. Por ejemplo, un componente que describe un título y un par de párrafos podría lucir así:
function MiComponente() {
    return (
        <div>
            <h1>Hola, Mundo</h1>
            <p>Bienvenidos a la programación con React.</p>
        </div>
    );
}
En el ejemplo anterior, el uso de JSX hace que sea evidente de inmediato cómo se verá la salida del componente. Sin embargo, es importante entender que al final del proceso, JSX se transforma en una estructura de JavaScript pura antes de ser ejecutada en el navegador.

Ventajas de JSX en React


JSX es una parte integral de React, que permite a los desarrolladores escribir el marcado y la lógica de estos componentes en un único archivo. Entre sus numerosas ventajas podemos mencionar las siguientes:

  1. Sintaxis familiar: para los desarrolladores que ya están acostumbrados a HTML, aprender JSX es un proceso que ocurre de manera más natural y rápida.
  2. Combina lógica y marca: JSX permite que la lógica de renderizado y la estructura de la aplicación coexistan en el mismo archivo, facilitando la comprensión y el mantenimiento del código. React admite el hecho de que la lógica de renderizado está intrínsecamente incorporada a la lógica de la interfaz de usuario, cómo se manejan los eventos, cómo cambia el estado con el tiempo y cómo se preparan los datos para su visualización.
  3. Compilación eficiente: a través de la herramienta Babel, JSX se convierte en funciones JavaScript que permiten la optimización y mejora del rendimiento de la aplicación.
  4. Mayor legibilidad: la sintaxis de JSX facilita la lectura del código, lo que es crucial para la colaboración en proyectos en equipo.
  5. Interacción dinámica: gracias a su integración con JavaScript, permite manejar eventos y condiciones directamente en la estructura del componente.

¿Por qué se usa JSX en React?

JavaScript XML es una parte importante de la biblioteca React, que es una de las opciones más populares para construir interfaces de usuario en el desarrollo web moderno. Si quieres utilizar React, tendrás que aprender JSX.

El uso de JSX en React está justificado por varias razones fundamentales. En primer lugar, su naturaleza declarativa permite describir lo que se debe ver en la interfaz, enfocándose en el "qué" en lugar del "cómo", lo que simplifica el proceso de desarrollo. Además, dado que React está diseñado para utilizar JSX, su uso se vuelve prácticamente obligatorio para aprovechar todas las capacidades del framework y beneficiarse de su enorme comunidad. Por último, JSX mejora la eficiencia al facilitar la creación de componentes reutilizables, lo que ahorra tiempo y esfuerzo en proyectos de gran escala.

¿Cómo se usa JSX en React?

El uso de JSX en React es sencillo y se puede implementar en tres pasos básicos:

  1. Iniciar un proyecto React: utiliza Create React App o una configuración personal de Webpack y Babel para comenzar.
  2. Escribir componentes: utiliza la sintaxis de JSX en la función de tu componente. Por ejemplo: function App() {
        return <h1>Bienvenido a mi aplicación React</h1>;
    }
  3. Importar y renderizar: importa el componente en tu archivo principal (usualmente index.js) y renderízalo utilizando ReactDOM:

import React from 'react';
import ReactDOM from 'react-dom';

ReactDOM.render(<App />, document.getElementById('root'));

Con estos simples pasos, puedes empezar a construir tu SPA (Single Page Application) con React y JSX.

¿Se puede usar JSX con Vue?

Es importante notar que JSX no es exclusivo de React y también se puede utilizar en otros frameworks como Vue.js. Sin embargo, su uso en Vue es menos común y solo se recomienda en situaciones específicas, como cuando se desea aprovechar su capacidad de crear componentes de forma más correspondiente a la lógica de JavaScript. Para usar JSX en Vue, debes configurar tu entorno de manera adecuada y, generalmente, es más común utilizar las plantillas de Vue. No obstante, existen situaciones específicas donde el uso de JSX puede ser beneficioso, especialmente cuando los desarrolladores buscan una integración más estrecha entre la lógica de JavaScript y la definición de componentes.

¿Cuál es la diferencia entre JS y JSX?

La principal diferencia entre JavaScript (JS) y JSX radica en la sintaxis y el propósito:

  • JavaScript es un lenguaje de programación que permite manipular el DOM, realizar cálculos, manejar eventos, etc.
  • JSX es una sintaxis que combina JavaScript y XML/HTML, que hace que el desarrollo de interfaces de usuario en bibliotecas como React sea más intuitivo.

Aunque JSX se compila a JavaScript, no todos los fragmentos de código JavaScript son JSX. JSX tiene una estructura específica que permite representar componentes de manera más legible.

¿Cómo se transforma el JSX?


La transformación de JSX a JavaScript se realiza mediante un compilador como Babel. Al compilar, JSX se convierte en llamadas a React.createElement(). Por ejemplo, el siguiente código JSX:
 
const element = <h1>Hola, Mundo</h1>;

Se transforma internamente en:

const element = React.createElement('h1', null, 'Hola, Mundo');

Esto es lo que permite a React entender la estructura y el contenido del JSX y, a su vez, renderizarlo eficientemente en el DOM.

Claves para optimizar el uso de JSX


  1. Usar clases CSS: se recomienda usar nombres de clases para aplicar estilos a elementos JSX y evitar el uso excesivo de estilos en línea.
  2. Fragmentos: utilizar React.Fragment para agrupar elementos sin añadir nodos adicionales en el DOM.
  3. Componentes reutilizables: divide tu UI en componentes reutilizables para mantener tu código limpio y fácil de gestionar.
  4. PropTypes: usar PropTypes para asegurarte de que tu componente recibe las propiedades que espera, lo cual mejora la mantenibilidad.
  5. Optimización de renderizado: implementar métodos de optimización como shouldComponentUpdate o usar React.memo para prevenir renderizados innecesarios.

Aprende más sobre JSX en EBIS


JSX es una extensión de sintaxis JavaScript que se ha vuelto clave para el desarrollo web, especialmente con programas innovadores como React, uno de los frameworks más populares dentro de la industria. A medida que React se consolida en el mercado tecnológico, dominar JSX es una habilidad esencial para cualquier desarrollador. Si deseas convertirte en un experto en estas y otras herramientas emergentes, ingresa e inscríbete en nuestro Máster en Full Stack   y prepara tu carrera para el éxito. 

Nuestro máster ofrece modalidades de estudio flexibles, tanto en formato live streaming como online para que puedas aprender a tu ritmo. Además tendrás acceso continuo a una amplia gama de recursos educativos que te mantendrán actualizado con las últimas tendencias en desarrollo web, conexiones con otros profesionales y las mejores empresas del sector.  

¿Listo para darle un impulso a tu carrera? Únete y destaca en el competitivo mercado laboral con EBIS. 

Conclusión 


JSX es una herramienta potente que se integra a la perfección con React, ofreciendo una forma declarativa de crear interfaces de usuario complejas y dinámicas. Su uso no solo mejora la legibilidad del código, sino que también permite a los desarrolladores centrarse en las características que realmente importan en el desarrollo de aplicaciones modernas. Con el conocimiento adecuado y las prácticas de optimización, cada programador puede dominar JSX y utilizarlo como un recurso valioso en la construcción de aplicaciones web efectivas.

Al final, la forma en que manejamos y utilizamos JSX puede determinar no solo nuestro éxito en el aprendizaje de React, sino también nuestra eficacia como desarrolladores en el futuro.

Suscríbase a nuestra Newsletter
banner fundacion estatal

Centro inscrito en el Registro Estatal de Entidades de Formación en virtud de la ley 30/2015

EBIS EDUCATION SL, B67370601© 2024 EBIS Business Techschool, C. Agustín Millares, 18, 35001 Las Palmas de Gran Canaria