⊗jsrtPmFmLP 40 of 112 menu

Clés uniques dans un tableau de balises en React

Dans l'exemple précédent, nous avons formé nos paragraphes dans une boucle, comme ceci :

const res = arr.map(function(item) { return <p>{item}</p>; });

Cela fonctionnera, cependant, si vous regardez dans la console - nous verrons une erreur : Warning: Each child in an array or iterator should have a unique "key" prop. Dans ce cas, React exige que nous donnions un numéro unique à chaque balise de la boucle, pour que React puisse plus facilement travailler avec ces balises par la suite.

Ce numéro est ajouté via l'attribut key. Dans ce cas, en tant que numéro, nous pouvons prendre l'index de l'élément dans le tableau. Dans notre cas, cet index est stocké dans la variable index et donc la ligne corrigée ressemblera à ceci :

const res = arr.map(function(item, index) { return <p key={index}>{item}</p>; });

Lançons - l'erreur dans la console disparaîtra :

function App() { const arr = [1, 2, 3, 4, 5]; const res = arr.map(function(item, index) { return <p key={index}>{item}</p>; }); return <div> {res} </div>; }

Encore une fois : cet attribut key a une signification technique pour React, vous comprendrez ce point plus en profondeur dans les prochaines leçons. Pour l'instant, sachez simplement : si vous voyez une telle erreur - ajoutez l'attribut key avec une valeur unique pour chaque balise et le problème disparaîtra.

La clé key doit être unique uniquement à l'intérieur de cette boucle, dans une autre boucle les valeurs de key peuvent coïncider avec les valeurs d'une autre boucle.

Modifiez votre solution de la tâche précédente conformément à ce qui est décrit.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser