Renderizado de listas, claves e interfaz condicional
Renderice colecciones dinámicas con map, elija las claves correctas y muestre u oculte la interfaz de forma condicional: los componentes básicos de uso diario de las interfaces de React.
Renderizado de listas, claves e interfaz condicional es una lección gratuita de Next.js 15 Fullstack Web Apps en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Next.js 15 Fullstack Web Apps, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Next.js 15 Fullstack Web Apps incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Rendering Collections
UIs constantly display lists: products, comments, search results. In React you turn an array of data into an array of elements, usually with Array.map.
Mapping an Array
Inside JSX you call map and return one element per item. React renders the resulting array directly.
const items = ['Apple', 'Banana', 'Cherry'];
function List() {
return (
<ul>
{items.map((fruit) => <li>{fruit}</li>)}
</ul>
);
}Why Keys Matter
React needs to track which item is which between renders. A key is a stable, unique identifier per item that lets React reuse, reorder, or remove elements efficiently instead of rebuilding everything.
Adding Keys
Pass a key prop, ideally a stable id from your data — not the array index, which breaks when items move.
{users.map((user) => (
<li key={user.id}>{user.name}</li>
))}The Index Key Pitfall
Using the array index as a key seems easy but causes bugs when the list is reordered or filtered: React reuses the wrong DOM node and component state attaches to the wrong item. Prefer a real unique id.
Conditional Rendering with &&
To render something only when a condition is true, use the logical AND operator. If the left side is falsy, nothing renders.
function Inbox({ count }) {
return (
<div>
{count > 0 && <span>You have {count} messages</span>}
</div>
);
}Ternary for Either/Or
When you must show one of two things, use a ternary expression directly in JSX.
function Status({ online }) {
return <p>{online ? 'Online' : 'Offline'}</p>;
}Early Returns
For larger branches, return early from the component. This keeps the main JSX clean.
function Profile({ user }) {
if (!user) return <p>Loading...</p>;
return <h1>{user.name}</h1>;
}Beware the Zero Trap
Using && with a number is risky: if the value is 0, React renders the literal 0 instead of nothing. Convert to a boolean first.
{messages.length > 0 && <List />} // safe
{messages.length && <List />} // BUG: renders 0Filtering and Mapping Together
You often filter then map to render a subset. Chain the array methods before returning elements.
{products
.filter((p) => p.inStock)
.map((p) => <Card key={p.id} product={p} />)}Empty States
Always handle the empty case. Show a friendly message when a list has no items rather than rendering a blank area.
{items.length === 0
? <p>No results found</p>
: items.map((i) => <Row key={i.id} {...i} />)}Quick Check
Test your list-rendering knowledge.
Recap
You learned core rendering patterns:
- Use
mapto turn data arrays into elements - Give each item a stable, unique key (not the index)
- Render conditionally with
&&, ternaries, or early returns - Watch the zero trap and always handle empty states
Preguntas frecuentes
¿La lección «Renderizado de listas, claves e interfaz condicional» es gratis?
Sí — el texto completo de «Renderizado de listas, claves e interfaz condicional» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Next.js 15 Fullstack Web Apps, actualiza a CoddyKit PRO. El curso de Next.js 15 Fullstack Web Apps incluye 4 lecciones en total.
¿Qué aprenderé en «Renderizado de listas, claves e interfaz condicional»?
Renderice colecciones dinámicas con map, elija las claves correctas y muestre u oculte la interfaz de forma condicional: los componentes básicos de uso diario de las interfaces de React. Practicas Next.js 15 Fullstack Web Apps con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Next.js 15 Fullstack Web Apps?
No se requiere experiencia previa. Next.js 15 Fullstack Web Apps en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Renderizado de listas, claves e interfaz condicional»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Next.js 15 Fullstack Web Apps?
Sí. Cada lección de Next.js 15 Fullstack Web Apps incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Componentes de React y JSX
- Gestión del estado con Hooks
- Props y comunicación entre componentes
- Renderizado de listas, claves e interfaz condicional