⊗jsrtPmFmLP 40 of 112 menu

Reactда теглар массивидаги уникал калитлар

Олдинги мисолда биз абзацларимизни циклда шундай яратган эдик:

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

Бу ишлайди, аммо, консолга назар ташланса - биз хатони кўрамиз: Warning: Each child in an array or iterator should have a unique "key" prop. Бу ҳолатда React талаб киладики, циклдаги ҳар бир тегга биз уникал рақам беришимиз керак, Reactга ушбу теглар билан кейинроқ ишлашни осонлаштириш учун.

Бу рақам key атрибути ёрдамида қўшилади. Бу ҳолатда рақам сифатида биз массивдаги элементнинг рақамини олишимиз мумкин. Бизнинг ҳолатимизда бу рақам index ўзгарувчисида сақланади ва демак, тўғриланган сатр шундай кўринади:

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

Келинг ишга туширамиз - консолнинг хатоси йўқолади:

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>; }

Яна бир бор: ушбу key атрибути React учун хизмат кўрсатади, бу жиҳатни чуқурроқ сиз кейинги дарсларда тушунib оласиз. Ҳозирча оддийгина билиб қўйинг: агар сиз бундай хатони кўрсангиз - key атрибутини ҳар бир тег учун уникал қиймат билан қўшинг ва муаммо йўқолади.

key калити фақатгина ушбу цикл ичида уникал бўлиши керак, бошқа циклда key қийматлари бошқа циклдаги қийматлар билан мос келиши мумкин.

Олдинги масалаинг ёчимин тасвирлангандек ўзгартиринг.

Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш