En nuestros pasos como desarrolladores FrontEnd, convivimos con técnicas y tecnologías que facilitan el desarrollo de una interfaz de usuario (también conocida como User Interface o UI/UX). Una de ellas es React, una librería muy popular que nos permite crear UI’s basadas en el paradigma de componentes reutilizables.
Y si utilizamos React, es común que tengamos que tomar decisiones basadas en mostrar u ocultar elementos de nuestra interface, que están sujetos a una condición previamente establecida. El ejemplo más claro de esto se encuentra en el proceso de autenticación. Una vez que iniciamos sesión en una app, el botón de Log In cambia a Log Out. A este proceso le llamamos conditional rendering (renderización condicional).

Entremos en contexto y analicemos algunos ejemplos de renderizado condicional.
&& y operadores lógicos</h1>
import 'React', { useState, useEffect } from 'react'
const Component = () => {
// Show the state
const [isRinging, setIsRinging] = useState(false)
useEffect (() => {
setIsRinging(true)
}, [])
return <div>{(isRinging && <p>Frank's phone is ringing</p> || "Nothing has happened..." )}</div>
//Output expected <p>Frank's phone is ringing</p>
export default Component
}
<h3>Este es uno de mis métodos favoritos, luce simple y limpio.</h3>
<h4>Recapitulemos un poco:</h4>
<h1>Renderización condicional con operador ternario</h1>
- Se crea un hook con estado
isRingingcon un valor por defaultfalse.- Cuando el componente es cargado al
DOMocurre el cambio de estado consetIsRingingy el hookuseEffect.- Se ejecuta la renderización y se lee un condicional.
- Se cumple la condición del operador
&&y se ejecuta el elemento<p>Frank's phone is ringing</p>.
const Component = () => {
let isFoodReady = false
return (
<>
isFoodRead ? (<p>Time to eat</p>) :
(<p>I'm starving </p>)
//Output expected <p>I'm starving</p>
</>
)
}
<h3>Recordando nuestras clases de JavaScript, el operador ternario es la forma abreviada de una condición if-else.</h3>
- Se lee y verifica el estado de
isFoodReady.
<h1>Renderización condicional retornando
- Se ejecuta la lógica de la variable en
falsey se dispara el elemento<p>I'm starving</p>
null</h1>
import 'React', { useState } from 'react'
const Modal = { show } => {
if (!show){
return null
}
return <p>Conditional rendering is great!</p>
}
const mainComponent = () => {
const [showModal, setShowModal] = useState(false)
return(
<>
<Modal show={showModal}/>
<button onClick={() => setShowModal(!showModal)}> Click me </button>
</>
)
// Output expected: Toggle effect with the button.
}
<h3>Para este último ejemplo he decidido crear un efecto toggle, ya que ejemplifica el uso de null con la creación de un menú tipo drop-down o un modal.</h3>
<h4>Pues bien, toca analizar nuevamente:</h4>
<h1>Conclusiones</h1>
- Se crea un componente de React llamado
Modal.- El componente
Modaldebe verificar si el elementopserá mostrado u ocultado.- Usamos el componente Modal dentro de
mainComponent, y le pasamos víapropsel estado de la variableshowModal.- Agregamos el evento
onClickdentro del botón y lo asociamos con una función que permita controlar el estado para dar el efecto de un toggle.
Después de este ejercicio de cardio con JavaScript y React, te estarás preguntando cuál es la mejor manera de escribir condicionales en React. Y en mi opinión, todo es por causalidad. Elige la herramienta que mejor creas conveniente para cada caso específico, y lo más importante nunca dejes de practicar.
Si quieres aprender que son los props, el estado y los hooks de React de una manera dinámica, ágil y entretenida te recomiendo tomar el Curso Práctico de React.
Compárteme en los comentarios si conoces algún otro método de renderizado condicional en React.
Prueba Técnica de Associates
COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE
