{"id":3540,"date":"2021-07-24T08:53:39","date_gmt":"2021-07-24T08:53:39","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/react-keys-yes-you-need-them-but-why-exactly\/"},"modified":"2026-04-24T11:30:22","modified_gmt":"2026-04-24T11:30:22","slug":"reaccionar-a-las-llaves-si-las-necesita-pero-por-que-exactamente","status":"publish","type":"post","link":"https:\/\/thecodest.co\/es\/blog\/react-keys-yes-you-need-them-but-why-exactly\/","title":{"rendered":"Llaves React, \u00a1S\u00ed! Las necesita, pero \u00bfpor qu\u00e9 exactamente?"},"content":{"rendered":"<p>Tambi\u00e9n hay una cosa m\u00e1s que usted necesita recordar sobre y que es la <strong><a href=\"https:\/\/thecodest.co\/es\/blog\/conditional-component-visibility-in-react\/\">React<\/a> Clave<\/strong> cada elemento de la lista renderizada debe tenerlo. Este concepto es una de las primeras cosas que todo front-end <a href=\"https:\/\/thecodest.co\/es\/blog\/hire-vue-js-developers\/\">desarrollador<\/a> aprende sobre <strong>React<\/strong> al principio de su viaje. Ahora vamos a profundizar un poco m\u00e1s para explorar por qu\u00e9 es as\u00ed y cu\u00e1ndo podemos tomar algunos atajos.<\/p>\n<h2>\u00bfPor qu\u00e9 necesitamos este atributo clave?<\/h2>\n<p>La respuesta m\u00e1s sencilla aqu\u00ed ser\u00eda \"para optimizar las re-renders\", pero la m\u00e1s completa tiene que mencionar al menos el concepto de <strong>React Conciliaci\u00f3n<\/strong>. Este es el proceso de averiguar c\u00f3mo actualizar la interfaz de usuario de la manera m\u00e1s eficiente. Para hacerlo r\u00e1pido, <strong>React<\/strong> tiene que decidir qu\u00e9 partes del \u00e1rbol de elementos necesitan ser actualizadas y cu\u00e1les no. La cuesti\u00f3n es que puede haber muchos elementos en el DOM y comparar cada uno de ellos para decidir cu\u00e1l debe actualizarse es bastante costoso. Para optimizar esto, <strong>React<\/strong> implementa el algoritmo diffing que se basa en dos supuestos:<\/p>\n<ol>\n<li>Dos tipos diferentes de elementos nunca ser\u00e1n iguales, as\u00ed que vuelve a renderizarlos.<\/li>\n<li>Los desarrolladores pueden ayudar manualmente a optimizar ese proceso mediante atributos clave, de modo que los elementos, aunque su orden haya cambiado, puedan localizarse y compararse m\u00e1s r\u00e1pidamente.<\/li>\n<\/ol>\n<p>Bas\u00e1ndonos en esto, podemos concluir que cada <strong>Tecla React<\/strong> tambi\u00e9n deben ser \u00fanicos (dentro de la lista de elementos, no globalmente), y estables (no deben cambiar). Pero, \u00bfqu\u00e9 puede ocurrir cuando no son tat?<\/p>\n<h2>Unicidad, estabilidad e \u00edndice de matriz<\/h2>\n<p>Como ya hemos dicho, <strong>Teclas React<\/strong> debe ser estable y \u00fanico. La forma m\u00e1s sencilla de conseguirlo es utilizar un ID \u00fanico (por ejemplo, de una base de datos) y pasarlo a cada elemento al mapear un array, f\u00e1cil. Pero, \u00bfqu\u00e9 pasa cuando no tenemos un ID, un nombre u otros identificadores \u00fanicos para pasar a cada elemento? Bueno, si no pasamos nada como clave, <strong>React<\/strong> tomar\u00e1 por defecto el \u00edndice actual del array (ya que es \u00fanico dentro de esa lista) para manejarlo por <a href=\"https:\/\/thecodest.co\/es\/blog\/why-us-companies-are-opting-for-polish-developers\/\">us<\/a>pero tambi\u00e9n nos dar\u00e1 un bonito mensaje de error en la consola:<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/fWmP92MWlEdiEo-qINf6WxkfB9ruVrgPnGBCQQwRjm4L2ZplXm72UmL-ChyoXxMbXTuSCkhYGIstU7l6EhT8vSeOrcyuaAqqPn4eYTYp8nXKqqIX5Q72T3Eh93Dg33WWQz9ciCws0.png\" alt=\"\" \/><\/p>\n<p>\u00bfPor qu\u00e9 ocurre esto? La respuesta es que el \u00edndice del array no es estable. Si el orden de los elementos cambia, cada una de las claves cambiar\u00e1 y tendremos un problema. Si <strong>React<\/strong> se encuentra con una situaci\u00f3n en la que se ha cambiado el orden en una lista de elementos, seguir\u00e1 intentando compararlos por las claves, lo que significa que cada comparaci\u00f3n acabar\u00e1 en la reconstrucci\u00f3n de un componente y, como resultado, toda la lista se reconstruir\u00e1 desde cero. Adem\u00e1s de eso, podemos encontrarnos con algunos problemas inesperados, como actualizaciones del estado de los componentes para elementos como entradas no controladas y otros problemas m\u00e1gicos dif\u00edciles de depurar.<\/p>\n<h2>Excepciones<\/h2>\n<p>Volvamos al \u00edndice del array. Si se utiliza como <strong>Tecla React<\/strong> puede ser tan problem\u00e1tico, \u00bfpor qu\u00e9 <strong>React<\/strong> lo utilizar\u00e1 por defecto? \u00bfHay alg\u00fan caso de uso en el que est\u00e9 bien hacerlo? La respuesta es s\u00ed, el caso de uso son las listas est\u00e1ticas. Si est\u00e1s seguro de que una lista que est\u00e1s renderizando nunca cambiar\u00e1 su orden, es seguro usar array index, pero recuerda, si tienes alg\u00fan identificador \u00fanico, es mejor usarlo en su lugar. Tambi\u00e9n puedes notar que pasar \u00edndices como claves har\u00e1 que la funci\u00f3n <strong>React<\/strong> al mismo tiempo que algunos de los linters externos muestran un error o una advertencia. Esto se debe al hecho de que el uso expl\u00edcito de \u00edndices como claves se considera una mala pr\u00e1ctica y algunos linters podr\u00edan tratarlo como un error, mientras que <strong>React<\/strong> lo considera como una situaci\u00f3n en la que \"los desarrolladores saben lo que hacen\", as\u00ed que no lo hagas a menos que realmente sepas lo que est\u00e1s haciendo.  Algunos ejemplos de cu\u00e1ndo puede estar bien usar esa excepci\u00f3n ser\u00edan un desplegable con una lista est\u00e1tica de botones o mostrar una lista de elementos con la informaci\u00f3n de la direcci\u00f3n de tu empresa.<\/p>\n<h2>Una alternativa a la clave basada en conjuntos de datos<\/h2>\n<p>Supongamos que ninguna de las anteriores es una opci\u00f3n para nosotros. Por ejemplo, tenemos que mostrar una lista de elementos basada en el array de cadenas que puede ser duplicado, pero tambi\u00e9n puede ser reordenado. En este caso, no podemos usar ninguna de las cadenas porque no son \u00fanicas (esto tambi\u00e9n puede causar algunos bugs m\u00e1gicos), y el \u00edndice del array no es lo suficientemente bueno porque cambiaremos el orden de los elementos. La \u00faltima cosa en la que podemos confiar en situaciones como esta es el uso de algunos identificadores externos. Recuerda, tiene que ser estable, as\u00ed que no podemos recurrir simplemente a Math.random(). Hay algunos paquetes NPM que podemos utilizar en estos casos, por ejemplo el paquete <a href=\"https:\/\/www.npmjs.com\/package\/uuid\" rel=\"nofollow\">\"uuid\"<\/a> paquete. Herramientas como \u00e9sta pueden ayudarnos a mantener nuestras claves de lista estables y \u00fanicas, incluso cuando no podemos encontrar identificadores apropiados dentro de nuestro <a href=\"https:\/\/thecodest.co\/es\/blog\/app-data-collection-security-risks-value-and-types-explored\/\">datos<\/a> set. Deber\u00edamos considerar utilizar primero el ID de la base de datos y el \u00edndice del conjunto (si es posible), para minimizar el n\u00famero de paquetes utilizados por nuestro <a href=\"https:\/\/thecodest.co\/es\/dictionary\/why-do-projects-fail\/\">proyecto<\/a>.<\/p>\n<h2>Para terminar<\/h2>\n<ul>\n<li>Cada elemento de la lista de <strong>React<\/strong> deben tener un atributo clave \u00fanico y estable,<\/li>\n<li><strong>Teclas React<\/strong> se utilizan para acelerar el <strong>Proceso de conciliaci\u00f3n<\/strong> y evitar la reconstrucci\u00f3n innecesaria de elementos en las listas,<\/li>\n<li>La mejor fuente de claves es el ID \u00fanico de entrada de datos (por ejemplo, de la base de datos),<\/li>\n<li>Puede utilizar el \u00edndice de la matriz como clave, pero s\u00f3lo para una lista est\u00e1tica cuyo orden no cambiar\u00e1,<\/li>\n<li>Si no hay otra forma de obtener claves estables y \u00fanicas, considere el uso de algunos proveedores de ID externos, por ejemplo, el paquete \"uuid\".<\/li>\n<\/ul>\n<p><article-inline-code-review><\/article-inline-code-review><\/p>\n<p><b>M\u00e1s informaci\u00f3n:<\/b><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/why-you-should-probably-use-typescript\">Por qu\u00e9 deber\u00eda (probablemente) utilizar Typescript<\/a><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/how-not-to-kill-a-project-with-bad-coding-practices\/\">\u00bfC\u00f3mo no matar un proyecto con malas pr\u00e1cticas de codificaci\u00f3n?<\/a><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/data-fetching-strategies-in-nextjs\/\">Estrategias de obtenci\u00f3n de datos en NextJS<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Transformar un array en una lista de elementos con React es bastante sencillo, b\u00e1sicamente todo lo que necesitas hacer es mapear ese array y devolver el elemento apropiado para cada elemento del array.<\/p>","protected":false},"author":2,"featured_media":3541,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3540","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>React Keys, Yes! You Need Them, but Why Exactly? - The Codest<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/es\/blog\/reaccionar-a-las-llaves-si-las-necesita-pero-por-que-exactamente\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"React Keys, Yes! You Need Them, but Why Exactly?\" \/>\n<meta property=\"og:description\" content=\"Transforming an array into a list of elements with React is pretty straightforward, basically all you need to do is map that array and return the proper element for every array item.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/es\/blog\/reaccionar-a-las-llaves-si-las-necesita-pero-por-que-exactamente\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2021-07-24T08:53:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-24T11:30:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/react_keys_cover.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/react-keys-yes-you-need-them-but-why-exactly\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/react-keys-yes-you-need-them-but-why-exactly\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"React Keys, Yes! You Need Them, but Why Exactly?\",\"datePublished\":\"2021-07-24T08:53:39+00:00\",\"dateModified\":\"2026-04-24T11:30:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/react-keys-yes-you-need-them-but-why-exactly\\\/\"},\"wordCount\":988,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/react-keys-yes-you-need-them-but-why-exactly\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/react_keys_cover.png\",\"articleSection\":[\"Software Development\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/react-keys-yes-you-need-them-but-why-exactly\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/react-keys-yes-you-need-them-but-why-exactly\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/react-keys-yes-you-need-them-but-why-exactly\\\/\",\"name\":\"React Keys, Yes! You Need Them, but Why Exactly? - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/react-keys-yes-you-need-them-but-why-exactly\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/react-keys-yes-you-need-them-but-why-exactly\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/react_keys_cover.png\",\"datePublished\":\"2021-07-24T08:53:39+00:00\",\"dateModified\":\"2026-04-24T11:30:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/react-keys-yes-you-need-them-but-why-exactly\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/react-keys-yes-you-need-them-but-why-exactly\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/react-keys-yes-you-need-them-but-why-exactly\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/react_keys_cover.png\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/react_keys_cover.png\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/react-keys-yes-you-need-them-but-why-exactly\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"React Keys, Yes! You Need Them, but Why Exactly?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/es\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Llaves React, \u00a1S\u00ed! Las necesita, pero \u00bfpor qu\u00e9 exactamente? - The Codest","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thecodest.co\/es\/blog\/reaccionar-a-las-llaves-si-las-necesita-pero-por-que-exactamente\/","og_locale":"es_ES","og_type":"article","og_title":"React Keys, Yes! You Need Them, but Why Exactly?","og_description":"Transforming an array into a list of elements with React is pretty straightforward, basically all you need to do is map that array and return the proper element for every array item.","og_url":"https:\/\/thecodest.co\/es\/blog\/reaccionar-a-las-llaves-si-las-necesita-pero-por-que-exactamente\/","og_site_name":"The Codest","article_published_time":"2021-07-24T08:53:39+00:00","article_modified_time":"2026-04-24T11:30:22+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/react_keys_cover.png","type":"image\/png"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/react-keys-yes-you-need-them-but-why-exactly\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/react-keys-yes-you-need-them-but-why-exactly\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"React Keys, Yes! You Need Them, but Why Exactly?","datePublished":"2021-07-24T08:53:39+00:00","dateModified":"2026-04-24T11:30:22+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/react-keys-yes-you-need-them-but-why-exactly\/"},"wordCount":988,"commentCount":0,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"image":{"@id":"https:\/\/thecodest.co\/blog\/react-keys-yes-you-need-them-but-why-exactly\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/react_keys_cover.png","articleSection":["Software Development"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/react-keys-yes-you-need-them-but-why-exactly\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/react-keys-yes-you-need-them-but-why-exactly\/","url":"https:\/\/thecodest.co\/blog\/react-keys-yes-you-need-them-but-why-exactly\/","name":"Llaves React, \u00a1S\u00ed! Las necesita, pero \u00bfpor qu\u00e9 exactamente? - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/react-keys-yes-you-need-them-but-why-exactly\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/react-keys-yes-you-need-them-but-why-exactly\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/react_keys_cover.png","datePublished":"2021-07-24T08:53:39+00:00","dateModified":"2026-04-24T11:30:22+00:00","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/react-keys-yes-you-need-them-but-why-exactly\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/react-keys-yes-you-need-them-but-why-exactly\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/thecodest.co\/blog\/react-keys-yes-you-need-them-but-why-exactly\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/react_keys_cover.png","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/react_keys_cover.png","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/react-keys-yes-you-need-them-but-why-exactly\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"React Keys, Yes! You Need Them, but Why Exactly?"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"The Codest","description":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/es\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/posts\/3540","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/comments?post=3540"}],"version-history":[{"count":5,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/posts\/3540\/revisions"}],"predecessor-version":[{"id":7970,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/posts\/3540\/revisions\/7970"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/media\/3541"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/media?parent=3540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/categories?post=3540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/tags?post=3540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}