Uno de los conceptos fundamentales en el desarrollo con React es la propiedad key
, especialmente cuando trabajamos con listas de elementos. Esta propiedad permite a React identificar de manera única cada elemento, optimizando el proceso de renderizado y asegurando una correcta gestión del estado de los componentes.
¿Qué es key
prop en React?
La key
prop en React es una propiedad especial que se utiliza para identificar de forma única los elementos dentro de una lista. Ayuda a React a determinar qué elementos han cambiado, sido añadidos o eliminados. Esto es fundamental para mejorar el rendimiento del renderizado y evitar errores visuales en la interfaz de usuario.
¿Cómo funciona key
prop en React?
Cuando React renderiza una lista de elementos, compara la versión anterior del DOM virtual con la nueva. Este proceso, llamado reconciliación, necesita una forma de identificar con precisión qué elementos permanecen y cuáles cambian. Ahí es donde entra en juego la propiedad key
.
Si cada elemento de la lista tiene una key
única y estable, React puede reutilizar eficientemente los componentes y solo actualizar lo necesario. Sin una key
adecuada, React tiene que rehacer más trabajo del necesario, lo que puede afectar al rendimiento y a la experiencia de usuario.

¿Para qué sirve key
prop en React?
En resumen, la propiedad key
sirve para:
- Optimizar el renderizado: Permite a React actualizar solo los elementos que realmente han cambiado.
- Mantener la consistencia del estado: Evita que los estados de los componentes se apliquen al elemento equivocado tras cambios en la lista.
- Evitar errores visuales: Asegura que los componentes sean representados correctamente después de operaciones como ordenar, añadir o eliminar elementos.
Ejemplo práctico: Uso correcto de key
en listas
Supongamos que tenemos una lista de tareas:
const tareas = [
{ id: 1, texto: 'Aprender React' },
{ id: 2, texto: 'Practicar JavaScript' },
{ id: 3, texto: 'Leer documentación' }
];
function ListaDeTareas() {
return (
<ul>
{tareas.map((tarea) => (
<li key={tarea.id}>{tarea.texto}</li>
))}
</ul>
);
}
Aquí, key={tarea.id}
permite a React saber qué <li>
corresponde con qué dato, incluso si cambiamos el orden o eliminamos elementos.
Riesgos de usar índices como key
Usar el índice del array como key
puede parecer una solución rápida, pero conlleva riesgos cuando se manipulan listas dinámicamente.
Ejemplo con problemas:
{tareas.map((tarea, index) => (
<li key={index}>{tarea.texto}</li>
))}
Si eliminamos una tarea, los índices cambian, y React puede aplicar el estado anterior al elemento equivocado, generando errores sutiles y difíciles de depurar.
Uso de key
en componentes personalizados
Si los elementos de una lista se representan mediante componentes personalizados, también es imprescindible incluir la propiedad key
en la llamada al componente.
Correcto:
function Tarea({ texto }) {
return <li>{texto}</li>;
}
function ListaDeTareas() {
return (
<ul>
{tareas.map((tarea) => (
<Tarea key={tarea.id} texto={tarea.texto} />
))}
</ul>
);
}
Consideraciones clave sobre key
- Debe ser única entre hermanos: Cada
key
debe diferenciar a los elementos dentro de un mismo nivel de la lista. - Debe ser estable: Usa valores que no cambien entre renders, como un
id
generado desde la base de datos. - Evita valores aleatorios o generados en cada render.
Da el siguiente paso en tu carrera como desarrollador
¿Te apasiona el desarrollo web y quieres dominar React a nivel profesional? En KeepCoding te ofrecemos el Desarrollo Web Full Stack Bootcamp, una formación intensiva y práctica con tecnologías modernas como React, Node.js, Express y mucho más.
Este bootcamp te prepara para entrar en el mercado laboral tech con una base sólida y actualizada. Transforma tu carrera con un enfoque 100% orientado al empleo. ¡Inscríbete hoy!