Props orqali komponentlarga ma'lumot uzatish, default qiymatlar, children prop va props immutability — test va mashqlar bilan.
Komponentlar mustaqil bo'laklar. Ularga tashqaridan ma'lumot uzatish uchun — props ishlatiladi.
Props — parentdan childga uzatiladigan, faqat o'qish uchun (read-only) ma'lumot.
App.jsxReact JSXfunction UserCard({ name, age }) {return <p>{name} — {age} yosh</p>;}<UserCard name="Abbos" age={26} />
Agar har bir komponent faqat statik ma'lumot ko'rsatsa, uni qayta ishlatib bo'lmaydi. Props komponentga tashqaridan turli ma'lumot berish, uni "shablon" sifatida qayta ishlatish imkonini beradi.
App.jsxReact JSXfunction Avatar({ src = "/default.png" }) {return <img src={src} />;}function Card({ children }) {return <div className="card">{children}</div>;}
Props hech qachon komponent ichida o'zgartirilmaydi — ular faqat o'qiladi.
⚠️ Common Mistake
App.jsxReact JSXfunction Profile(props) {props.name = props.name.toUpperCase(); // XATO — mutationreturn <h2>{props.name}</h2>;}
✅ To'g'ri yechim
App.jsxReact JSXfunction Profile({ name }) {const upperName = name.toUpperCase();return <h2>{upperName}</h2>;}
Task: name va role props qabul qiluvchi EmployeeCard yarating.
Task: children prop orqali istalgan kontentni ko'rsata oladigan Modal komponenti yarating.
App.jsxReact JSXfunction Profile(props) {props.name = props.name.toUpperCase();return <h2>{props.name}</h2>;}
Your Task: Nega bu kod React qoidalariga zid?
<details> <summary>Solution</summary> Props'ni to'g'ridan-to'g'ri o'zgartirish (mutation) React'ning immutability tamoyilini buzadi. To'g'ri yechim — yangi lokal o'zgaruvchi yaratish: ```jsx function Profile({ name }) { const upperName = name.toUpperCase(); return <h2>{upperName}</h2>; } ``` </details>Props — parentdan childga uzatiladigan read-only ma'lumot. children — komponentga ixtiyoriy JSX kontent uzatish usuli. Props hech qachon mutate qilinmaydi.
children — composition uchun kuchli vositaApp.jsxReact JSXfunction Component({ prop1, prop2 = "default" }) { ... }<Component prop1="value" prop2={42} />function Wrapper({ children }) { return <div>{children}</div>; }
Mavzu bo‘yicha tushunchalaringizni interaktiv test orqali sinovdan o‘tkazing va natijalarni bilib oling.
Darslikda o‘rganilgan qoidalarga asosan real kod yozing, testlardan o‘tkazing va yechimlarni mustahkamlang.
Test Sinovi
Hali topshirilmagan (kamida 75% kerak)
Amaliy Masalalar
0 / 2 ta yechildi (kamida 75% kerak)
Dars sifati va mazmunini yaxshilash uchun o‘z haqqoniy bahoingizni qoldiring.
Mavzuni to‘liq o‘zlashtirish uchun test sinovi, amaliy kodlash va bog‘liq darslar
O‘z bilimingizni interaktiv test savollari orqali tekshiring va darhol xatolarni tahlil qiling.
Nazariyani real kod yozish bilan mustahkamlang, avtomatik testlardan o‘ting va XP to‘plang.
Kurs bo‘yicha keyingi va bog‘liq mavzular: