{"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":"reaktionsschlussel-ja-man-braucht-sie-aber-warum-genau","status":"publish","type":"post","link":"https:\/\/thecodest.co\/de\/blog\/react-keys-yes-you-need-them-but-why-exactly\/","title":{"rendered":"React-Schl\u00fcssel, ja! Sie brauchen sie, aber warum genau?"},"content":{"rendered":"<p>Es gibt noch eine weitere Sache, an die Sie denken m\u00fcssen, und das ist die <strong><a href=\"https:\/\/thecodest.co\/de\/blog\/conditional-component-visibility-in-react\/\">React<\/a> Schl\u00fcssel<\/strong> Attribut hat, muss jedes Element der gerenderten Liste dieses Attribut haben. Dieses Konzept ist eines der ersten Dinge, die jedes Front-End <a href=\"https:\/\/thecodest.co\/de\/blog\/hire-vue-js-developers\/\">Entwickler<\/a> lernt \u00fcber <strong>React<\/strong> am Anfang ihrer Reise. Lassen Sie uns nun ein wenig tiefer graben, um herauszufinden, warum dies der Fall ist und wann wir einige Abk\u00fcrzungen nehmen k\u00f6nnen.<\/p>\n<h2>Warum brauchen wir dieses Schl\u00fcsselattribut?<\/h2>\n<p>Die einfachste Antwort w\u00e4re hier \"zur Optimierung von Wiederaufbereitungen\", aber die umfassendere Antwort muss zumindest das Konzept der <strong>React \u00dcberleitung<\/strong>. Dabei geht es darum, herauszufinden, wie die Benutzeroberfl\u00e4che am effizientesten aktualisiert werden kann. Um das schnell zu tun, <strong>React<\/strong> muss entscheiden, welche Teile des Baums der Elemente aktualisiert werden m\u00fcssen und welche nicht. Das Problem ist, dass es viele Elemente im DOM geben kann und der Vergleich der einzelnen Elemente bei der Entscheidung, welches aktualisiert werden soll, ziemlich teuer ist. Um dies zu optimieren, <strong>React<\/strong> implementiert den Diffing-Algorithmus, der sich auf zwei Annahmen st\u00fctzt:<\/p>\n<ol>\n<li>Zwei verschiedene Arten von Elementen werden niemals gleich sein - also rendern Sie diese neu.<\/li>\n<li>Die Entwickler k\u00f6nnen diesen Prozess durch Schl\u00fcsselattribute manuell optimieren, so dass die Elemente, auch wenn sich ihre Reihenfolge ge\u00e4ndert hat, schneller lokalisiert und verglichen werden k\u00f6nnen.<\/li>\n<\/ol>\n<p>Daraus k\u00f6nnen wir schlie\u00dfen, dass jede <strong>React Schl\u00fcssel<\/strong> sollten auch eindeutig sein (innerhalb der Liste der Elemente, nicht global) und stabil (sollten sich nicht \u00e4ndern). Aber was k\u00f6nnte passieren, wenn sie nicht stabil sind?<\/p>\n<h2>Einzigartigkeit, Stabilit\u00e4t und Array-Index<\/h2>\n<p>Wie wir bereits erw\u00e4hnt haben, <strong>React-Tasten<\/strong> sollte stabil und eindeutig sein. Der einfachste Weg, dies zu erreichen, ist die Verwendung einer eindeutigen ID (z. B. aus einer Datenbank) und die \u00dcbergabe dieser ID an jedes Element beim Mapping eines Arrays. Aber was ist mit Situationen, in denen wir keine ID, keinen Namen oder andere eindeutige Bezeichner haben, die wir an jedes Element \u00fcbergeben k\u00f6nnen? Nun, wenn wir nichts als Schl\u00fcssel \u00fcbergeben, <strong>React<\/strong> nimmt standardm\u00e4\u00dfig den aktuellen Array-Index (da er innerhalb dieser Liste eindeutig ist), um ihn f\u00fcr <a href=\"https:\/\/thecodest.co\/de\/blog\/why-us-companies-are-opting-for-polish-developers\/\">us<\/a>aber es wird uns auch eine nette Fehlermeldung in der Konsole geben:<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/fWmP92MWlEdiEo-qINf6WxkfB9ruVrgPnGBCQQwRjm4L2ZplXm72UmL-ChyoXxMbXTuSCkhYGIstU7l6EhT8vSeOrcyuaAqqPn4eYTYp8nXKqqIX5Q72T3Eh93Dg33WWQz9ciCws0.png\" alt=\"\" \/><\/p>\n<p>Warum ist das der Fall? Die Antwort ist, dass der Array-Index nicht stabil ist. Wenn sich die Reihenfolge der Elemente \u00e4ndert, \u00e4ndert sich jeder der Schl\u00fcssel und wir haben ein Problem. Wenn <strong>React<\/strong> Tritt eine Situation ein, in der die Reihenfolge in einer Liste von Elementen ge\u00e4ndert wurde, wird immer noch versucht, sie nach den Schl\u00fcsseln zu vergleichen, was bedeutet, dass jeder Vergleich dazu f\u00fchrt, dass eine Komponente neu erstellt wird und als Ergebnis die gesamte Liste von Grund auf neu erstellt werden muss. Dar\u00fcber hinaus kann es zu unerwarteten Problemen kommen, z. B. Aktualisierungen des Komponentenzustands f\u00fcr Elemente wie unkontrollierte Eingaben und andere magische, schwer zu debuggende Probleme.<\/p>\n<h2>Ausnahmen<\/h2>\n<p>Kommen wir zur\u00fcck zum Array-Index. Wenn Sie ihn als <strong>React Schl\u00fcssel<\/strong> so problematisch sein kann, warum <strong>React<\/strong> standardm\u00e4\u00dfig verwenden wird? Gibt es einen Anwendungsfall, bei dem dies in Ordnung ist? Die Antwort ist ja, der Anwendungsfall daf\u00fcr sind statische Listen. Wenn Sie sicher sind, dass eine Liste, die Sie rendern, nie ihre Reihenfolge \u00e4ndern wird, ist es sicher, Array-Index zu verwenden, aber denken Sie daran, wenn Sie irgendwelche eindeutigen Bezeichner haben, ist es immer noch besser, sie stattdessen zu verwenden. Sie k\u00f6nnen auch feststellen, dass die \u00dcbergabe von Indizes als Schl\u00fcssel die <strong>React<\/strong> Fehlermeldung verschwindet, w\u00e4hrend gleichzeitig einige der externen Linters einen Fehler oder eine Warnung anzeigen. Dies ist darauf zur\u00fcckzuf\u00fchren, dass die explizite Verwendung von Indizes als Schl\u00fcssel als schlechte Praxis angesehen wird und einige Linter dies als Fehler behandeln, w\u00e4hrend <strong>React<\/strong> selbst betrachtet es als eine \"die Entwickler wissen, was sie tun\" Situation - also tun Sie das nicht, wenn Sie nicht wirklich wissen, was Sie tun.  Ein paar Beispiele daf\u00fcr, wann es in Ordnung sein kann, diese Ausnahme zu verwenden, w\u00e4ren ein Dropdown mit einer statischen Liste von Schaltfl\u00e4chen oder die Anzeige einer Liste von Elementen mit den Adressdaten Ihres Unternehmens.<\/p>\n<h2>Eine Alternative zu einem datensatzbasierten Schl\u00fcssel<\/h2>\n<p>Nehmen wir an, dass keine der oben genannten M\u00f6glichkeiten f\u00fcr uns in Frage kommt. Wir m\u00fcssen zum Beispiel eine Liste von Elementen anzeigen, die auf einem Array von Strings basiert, die dupliziert werden k\u00f6nnen, aber auch neu geordnet werden k\u00f6nnen. In diesem Fall k\u00f6nnen wir keine der Zeichenketten verwenden, da sie nicht eindeutig sind (dies kann auch zu einigen magischen Fehlern f\u00fchren), und der Array-Index ist nicht gut genug, da wir die Reihenfolge der Elemente \u00e4ndern werden. Das letzte, worauf wir uns in solchen Situationen verlassen k\u00f6nnen, ist die Verwendung von externen Bezeichnern. Denken Sie daran, dass diese stabil sein m\u00fcssen, also k\u00f6nnen wir nicht einfach Math.random() verwenden. Es gibt einige NPM-Pakete, die wir in solchen F\u00e4llen verwenden k\u00f6nnen, zum Beispiel das <a href=\"https:\/\/www.npmjs.com\/package\/uuid\" rel=\"nofollow\">\"uuid\"<\/a> Paket. Solche Werkzeuge k\u00f6nnen uns dabei helfen, unsere Listenschl\u00fcssel stabil und eindeutig zu halten, selbst wenn wir keine geeigneten Bezeichner in unserem <a href=\"https:\/\/thecodest.co\/de\/blog\/app-data-collection-security-risks-value-and-types-explored\/\">Daten<\/a> setzen. Wir sollten in Betracht ziehen, zuerst die Datenbank-ID und den Array-Index (wenn m\u00f6glich) zu verwenden, um die Anzahl der Pakete zu minimieren, die von unserem <a href=\"https:\/\/thecodest.co\/de\/dictionary\/why-do-projects-fail\/\">Projekt<\/a>.<\/p>\n<h2>Zum Abschluss<\/h2>\n<ul>\n<li>Jedes Element in der Liste der <strong>React<\/strong> Elemente sollten ein eindeutiges, stabiles Schl\u00fcsselattribut haben,<\/li>\n<li><strong>React-Tasten<\/strong> werden zur Beschleunigung der <strong>Vers\u00f6hnungsprozess<\/strong> und eine unn\u00f6tige Neubildung von Elementen auf den Listen zu vermeiden,<\/li>\n<li>Die beste Quelle f\u00fcr Schl\u00fcssel ist die eindeutige ID der Dateneingabe (z. B. aus der Datenbank),<\/li>\n<li>Sie k\u00f6nnen den Array-Index als Schl\u00fcssel verwenden, aber nur f\u00fcr eine statische Liste, deren Reihenfolge sich nicht \u00e4ndern wird,<\/li>\n<li>Wenn es keine andere M\u00f6glichkeit gibt, stabile und eindeutige Schl\u00fcssel zu erhalten, sollten Sie die Verwendung externer ID-Anbieter in Betracht ziehen, z. B. das \"uuid\"-Paket.<\/li>\n<\/ul>\n<p><article-inline-code-review><\/article-inline-code-review><\/p>\n<p><b>Lesen Sie mehr:<\/b><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/why-you-should-probably-use-typescript\">Warum Sie (wahrscheinlich) Typescript verwenden sollten<\/a><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/how-not-to-kill-a-project-with-bad-coding-practices\/\">Wie kann man ein Projekt nicht durch schlechte Programmierpraktiken zerst\u00f6ren?<\/a><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/data-fetching-strategies-in-nextjs\/\">Strategien zum Abrufen von Daten in NextJS<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Die Umwandlung eines Arrays in eine Liste von Elementen mit React ist ziemlich einfach. Im Grunde m\u00fcssen Sie nur das Array abbilden und das richtige Element f\u00fcr jedes Array-Element zur\u00fcckgeben.<\/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\/de\/blog\/reaktionsschlussel-ja-man-braucht-sie-aber-warum-genau\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/blog\/reaktionsschlussel-ja-man-braucht-sie-aber-warum-genau\/\" \/>\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\u00a0Minuten\" \/>\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\":\"de\",\"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\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/react-keys-yes-you-need-them-but-why-exactly\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@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\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@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\":\"de\",\"@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\\\/de\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"React-Schl\u00fcssel, ja! Sie brauchen sie, aber warum genau? - Der 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\/de\/blog\/reaktionsschlussel-ja-man-braucht-sie-aber-warum-genau\/","og_locale":"de_DE","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\/de\/blog\/reaktionsschlussel-ja-man-braucht-sie-aber-warum-genau\/","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\u00a0Minuten"},"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":"de","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-Schl\u00fcssel, ja! Sie brauchen sie, aber warum genau? - Der 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":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/react-keys-yes-you-need-them-but-why-exactly\/"]}]},{"@type":"ImageObject","inLanguage":"de","@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":"Der 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":"de"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"Der Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"de","@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":"de","@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\/de\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/posts\/3540","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/comments?post=3540"}],"version-history":[{"count":5,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/posts\/3540\/revisions"}],"predecessor-version":[{"id":7970,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/posts\/3540\/revisions\/7970"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/media\/3541"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/media?parent=3540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/categories?post=3540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/tags?post=3540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}