JSX es el standard para escribir aplicaciones con react. Analicemos esta declaraciรณn de variable:
constelement=<h1>Hello world!</h1>;
El contenido de la variable no es ni HTML ni es un String. Parece HTML pero realmente es una mezcla de JavaScript y HTML.
Se llama JSX y es una extensiรณn de JavaScript. Los creadores de react recomiendan usarlo para describir como deberรญa ser la UI de un componente. Es parecido a un lenguaje de template, con la ventaja de que puedes agregarle todo el JavaScript que quieras, sin limitaciones.
Todo lo que escribimos en JSX se transforma en un "element" cรณmo vimos en el capรญtulo anterior. Esta transformaciรณn la harรก con Babel.
ยฟPor quรฉ JSX?
No se requiere realmente usar JSX mientras se trabaja con aplicaciones react. Puedes desarrollar tus aplicaciones con createElement cรณmo vimos en el capitulo anterior. Pero usar JSX tiene ventajas.
Quizรกs se hizo popular por su sintaxis familiar, es casi como escribir HTML. La lรณgica de nuestra UI sea muy descriptiva y fรกcil de entender.
Sin JSX no queda del todo claro que es lo que estรก sucediendo. Con JSX visualizamos rรกpidamente como serรก la UI y ademรกs entendemos rรกpido desde donde se cargarรก la data. Es fรกcil entender lo que pasarรก con ese componente.
Cรณmo mencionamos, es una mezcla de JavaScript y HTML y por eso podemos incrustar variables o incluso cรณdigo directamente en el template.
Reemplazando createElement por JSX
A continuaciรณn reemplazaremos el cรณdigo que hicimos en el capitulo anterior por JSX.
Cรณmo verรกs el cรณdigo es mucho mรกs lindo.
Ademรกs de incluir los scripts de React y React-Dom ahora agregamos Babel. Babel transformarรก el cรณdigo JSX en el cรณdigo equivalente en react.
En nuestro ejemplo Babel transforma el cรณdigo JSX a lo siguiente:
Gracias a JSX y a su posibilidad de incrustar cรณdigo JavaScript dentro de los template, podemos generar contenidos dinรกmicos en base a datos, condiciones, etc. A continuaciรณn se muestran algunos ejemplos, mรกs adelante en el workshop profundizaremos.
Haciendo que el contenido del componente sea dinรกmico
Clases dinรกmicas
Pasรกndole propiedades
boom
Calma, mรกs adelante veremos que es eso de las props y cรณmo darle estilos a nuestros componentes.
Lo importante es que hayas entendido que es JSX y cรณmo funciona, para saber mรกs ingresa aquรญ: