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 una UI basada 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 UI 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 esta herramienta le llamamos conditional rendering (renderización condicional).

Analicemos algunos métodos de renderizado condicional que nos podrían servir en futuros proyectos.
<h1>Renderización condicional con&& 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 Hey! This is Frank
export default Component
}
Este es uno de mis métodos favoritos, luce simple y limpio.
<h3>Recapitulemos un poco:</h3><h1>Renderización condicional con operador ternario</h1>
- Se crea un hook con un estado
isRingingcon un valor por defaultfalse.- Cuando el componente es cargado al DOM ocurre el cambio de estado con
setIsRingingcon el hookuseEffect.- Se ejecuta la renderización y se lee un condicional.
- Se cumple la condición a la derecha 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>
</>
)
}
Recordando nuestras clases de JavaScript, el operador ternario es la forma abreviada de una condición if-else.
<h1>Renderización condicional retornando
- Se lee y verifica el estado de
isFoodReady.- 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 button.
}
Para este último ejemplo he decidido crear un efecto toggle, ya que va increíble el uso de null con la creación de un menú tipo drop-down o un modal.
<h3>Pues bien, toca analizar nuevamente:</h3>
<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
