En casi cualquier aplicación, necesitas mostrar cosas diferentes según el estado de la app. ¿El usuario está logueado? Muestra su perfil. ¿No lo está? Muestra el botón de login. ¿Hay un error? Muestra el mensaje de error.
A esto le llamamos renderizado condicional — decidir qué renderizar según una condición.
El ternario es perfecto cuando tienes dos opciones: muestra A o muestra B.
La sintaxis es: {condición ? <SiTrue /> : <SiFalse />}
&&Cuando solo quieres mostrar algo o nada (sin alternativa), usa &&:
Si la condición es true, renderiza lo que hay después del &&. Si es false, no renderiza nada.
0Esto pasa porque 0 es falsy en JavaScript, pero React sí lo renderiza como texto. Usa siempre una comparación explícita.
Cuando la lógica es más compleja, puedes usar if/else normal antes del return:
Esto se llama early return — si una condición se cumple, retornas inmediatamente sin llegar al resto del código.
¿No estás seguro? Usa este árbol de decisión:
¿Cuántas opciones de renderizado tienes?
| Situación | Técnica |
|---|---|
| Dos opciones (A o B) | Ternario ? : |
| Mostrar u ocultar (A o nada) | && |
| Lógica compleja, muchos casos | if/else antes del return |
En la práctica, mezclas las técnicas según la situación:
Tienes dos variables: isLoggedIn e isAdmin. Tu misión:
isLoggedIn es true, muestra "Bienvenido". Si no, muestra "Inicia sesión" (usa ternario)isAdmin es true, muestra un badge "Admin" (usa &&)Prueba cambiando los valores de las variables a true y false para ver cómo cambia la interfaz.
El renderizado condicional es lo que hace que tu interfaz sea dinámica. Ya no son páginas estáticas — son aplicaciones que reaccionan.