JSX
Last updated
Last updated
JSX (JavaScript XML) es la sintaxis que se utiliza para construir el markup de los componentes de React. Veamos un ejemplo tomado del código que genera :
JSX es similar a HTML pero con algunas diferencias importantes:
Se utiliza className
en vez de class
para definir las clases de un elemento.
Todas las etiquetas deben estar cerradas con />
o una etiqueta de cierre.
Por debajo JSX se transforma en código JavaScript. Por ejemplo, el siguiente código JSX
se transforma en el siguiente código JavaScript:
La ventaja de JSX es que, como es JavaScript, podemos:
Ver algunos errores en tiempo de compilación.
Asignar JSX a variables. Por ejemplo:
Retornar JSX desde métodos. Por ejemplo:
Una restricción de JSX es que siempre debes tener un elemento raíz:
Para no perder la indentación en el último ejemplo podemos utilizar paréntesis para escribir el JSX en una nueva línea:
Este es un patrón muy común en las aplicaciones de React.
Para mezclar código JavaScript en JSX utiliza corchetes ({}
):
Una restricción de JSX es que no puedes utilizar if
, else
, while
o for
.
Para agregar condicionales utiliza el operador ternario:
Para mostrar elementos de un arreglo o un objeto utiliza map
:
Es posible definir y utilizar estilos inline en JSX:
En JSX se utilizan los eventos estándar del DOM como onclick
, onchange
, onkeydown
, etc. pero utilizando camelCase: onClick
, onChange
, onKeyDown
, etc. Por ejemplo:
Fíjate que utilizamos corchetes ({}
) para escribir nuestro código JavaScript. También podríamos pasar una función que es invocada cuando se genere el evento:
Fíjate que no estamos invocando la función saluda
, sólo la estamos pasando para que React la invoque cuando ocurra el evento.
Puedes utilizar el para ver en qué se convierte el código JSX que escribes.