Ahora vamos a aprender cómo hacer renderizado condicional en React. En otras palabras, si existe una condición, proporcionamos una información específica. Si existe una condición diferente, entonces mostraríamos una información diferente al navegador. Bueno, React no es un lenguaje de plantillas, por lo que no tenemos acceso a las directivas if o else basadas en html. No hay problema, simplemente trasladamos esa lógica a JavaScript simple. Veamos cómo hacerlo ahora.


Renderizar condicionalmente una lista

Lo que podemos hacer es comenzar con el ejemplo de representación de listas en el que acabamos de trabajar. Es solo una matriz simple con tres elementos, y luego usa la función de mapa para representarlos todos en el marcado JSX.

lista de reacciones simple
El código anterior funciona muy bien, pero ¿qué sucede si no hay elementos en la matriz? En una situación como esa, sería bueno mostrar un mensaje como "No hay elementos disponibles" o algo similar. Entonces, según la condición de que haya uno o más elementos en la matriz, mostramos la lista; de lo contrario, si no hay elementos en la matriz, deberíamos decirlo en la pantalla. Aquí hay un ejemplo de cómo podríamos hacer eso en React.


Usar un método auxiliar

Agreguemos un método auxiliar al componente que ayudará con esta tarea. Primero, analicemos la estructura de este método. Se parecerá un poco al siguiente.

Lo que estamos haciendo es comprobar primero si la matriz listitems tiene elementos. Si no tiene elementos, mostraremos ese mensaje de lista vacía. Si tiene elementos, entonces debemos mostrarlos.


Devolver JSX desde una función

En cualquiera de las condiciones, necesitamos devolver algo de JSX que se pueda usar en nuestra etiqueta React.Fragment. Así que este es el marcado que debería funcionar. En el primer caso, devolvemos una expresión JSX que es una alerta de Bootstrap. En el otro caso, simplemente movemos la lógica para representar una lista en esta función y la devolvemos.


Llamar a una función en JSX

Ahora que hemos movido el JSX a una función que decidirá cómo renderizar la lista, necesitamos incluir una llamada a esa función. Hacemos la llamada a nuestra nueva función dentro de la función render () del componente así.


Probando el renderizado condicional

Entonces, si lo juntamos todo, podemos ver cómo funciona esto. Primero, llenaremos nuestra matriz listitems con cuatro elementos de lista individuales.

En este escenario, la lista se representa con 4 elementos. Perfecto.
reaccionar representación condicional de la lista

Ahora, vacíemos la matriz. Necesitamos ver si la lógica en la función renderItems () está funcionando correctamente.

Parece que ahora estamos recibiendo el mensaje de lista vacía que es exactamente lo que queremos.
reaccionar si más renderizado


Representación condicional en resumen de React

Este es solo un ejemplo de cómo puede abordar el renderizado condicional al usar React. Nuevamente, dado que no hay directivas personalizadas como ng-if o v-if, debemos recurrir a JavaScript nativo para implementar la lógica sobre si se debe representar una pieza de información u otra. ¡Si nada más, estaremos mejorando nuestras habilidades nativas de JavaScript usando esta técnica!