⊗jsrtPmCpPS 85 of 112 menu

Reactda voris komponentlarga stavlarni uzatish

Faraz qilaylik, bizda quyidagi mahsulotlar massivi berilgan:

const initProds = [ {id: id(), name: 'product1', cost: 100}, {id: id(), name: 'product2', cost: 200}, {id: id(), name: 'product3', cost: 300}, ];

Faraz qilaylik, bu massiv Products komponentida joylashgan. Keling, ushbu mahsulotlarni komponent holatiga yozamiz:

function Products() { const [prods, setProds] = useState(initProds); }

Endi keling, mahsulotlarni tsikl bilan aylantiramiz va ularni qandaydir veb-sahifa dizaynida ko‘rsatamiz:

function Products() { const [prods, setProds] = useState(initProds); const items = prods.map(prod => { return <div key={prod.id}> name: <span>{prod.name}</span>, cost: <span>{prod.cost}</span> </div>; }); return <div> {items} </div>; }

Ko‘rib turganingizdek, bizning map tsiklimizning mazmuni yetarlicha murakkab, ayniqsa agar mahsulot veb-sahifa dizayni kelajakda kengayib borsa. Bunday murakkablik kodni o‘qish, tushunish va qo‘llab-quvvatlashni qiyinlashtiradi.

Mahsulotni ko‘rsatishga javob beradigan kodni alohida komponentga chiqarish yaxshiroq bo‘ladi. Uni Product deb nomlaymiz. Mana bizning komponentimiz kodi:

function Product({ name, cost }) { return <div> name: <span>{name}</span>, cost: <span>{cost}</span> </div>; }

Keling, endi Products komponenti ichida map tsikli ichida Product voris komponentlaridan foydalanamiz:

function Products() { const [prods, setProds] = useState(initProds); const items = prods.map(prod => { return <Product key ={prod.id} name={prod.name} cost={prod.cost} />; }); return <div> {items} </div>; }

Ko‘rib turganingizdek, endi tsikl kodi soddalashdi va tushunish uchun ko‘proq tushunarli bo‘ldi. Bundan tashqari, endi mahsulotni ko‘rsatish uchun alohida komponent javobgar bo‘lib, unda biz mahsulotlarning veb-sahifa dizaynini yaratishimiz va keyin tahrirlashimiz mumkin.

Texnik jihatdan, shunday bo‘ladiki, ota komponent ma'lumotlar bilan holatga ega, voris komponentlar esa ushbu ma'lumotlarni prop (props) ko‘rinishida oladi va ularni biz xohlagan tarzda ko‘rsatadi.

Users komponenti holatida quyidagi massiv berilgan:

const initUsers = [ {id: id(), name: 'user1', surname: 'surn1', age: 30}, {id: id(), name: 'user2', surname: 'surn2', age: 31}, {id: id(), name: 'user3', surname: 'surn3', age: 32}, ];

Ushbu massivni tsikl bilan aylantiring va barcha foydalanuvchilarni ekranda ko‘rsating. Foydalanuvchini ko‘rsatish uchun alohida User komponentini yarating.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish