Imagina que tienes un array de tecnologías y quieres mostrar cada una en una lista. En HTML tendrías que escribir cada <li> a mano. Si el array cambia, tienes que actualizar el HTML manualmente.
React tiene una solución mucho mejor: .map().
Ya conoces .map() de JavaScript: transforma cada elemento de un array en otra cosa. En React, lo usamos para transformar datos en elementos JSX:
¿Qué pasa aquí?
frutas.map(...) recorre el array<li> con el nombre<li> resultantes dentro del <ul>El resultado es una lista completa, generada automáticamente desde los datos.
key: identidad de cada elementoSi ejecutas el código anterior, verás una advertencia en la consola:
Warning: Each child in a list should have a unique "key" prop.
React necesita una forma de identificar cada elemento de la lista para poder actualizarla eficientemente. Para eso existe la prop key:
La key debe ser:
Lo ideal es un id único de tus datos:
Si no tienes un id, puedes usar el string mismo si es único. Usa el índice (index) solo como último recurso — puede causar bugs si la lista se reordena.
Imagina que tienes una lista de 100 elementos y solo cambia uno. Sin keys, React tendría que comparar todos los elementos uno a uno. Con keys, React sabe exactamente cuál cambió y solo actualiza ese.
Es como tener nombres en una lista de clase vs tener asientos numerados. Con asientos numerados, sabes inmediatamente quién falta.
.forEach() para renderizarTienes un array de tecnologías. Tu misión:
.map() dentro del <ul> para renderizar cada tecnología como un <li>key única a cada <li>Renderizar listas es algo que harás constantemente en React. Cada feed de noticias, cada carrito de compras, cada tabla de datos — todo son listas renderizadas con .map().