Funksional komponentlar, komponentlar kompozitsiyasi, component tree va Single Responsibility Principle — test va mashqlar bilan.
JSX — UI tasvirlash tili. Komponent — shu JSX'ni qayta ishlatiluvchi funksiyaga aylantiruvchi qurilma.
Komponent — JSX qaytaradigan oddiy JavaScript funksiyasi.
App.jsxReact JSXfunction Button() {return <button>Click</button>;}
Butun ilova UI'sini bitta katta funksiyada yozish — o'qish, testlash va qayta ishlatishni deyarli imkonsiz qiladi. Komponentlar UI'ni mustaqil, nomlangan bo'laklarga bo'ladi.
⚠️ Common Mistake
Komponent nomini kichik harf bilan yozish (function button()) — React buni oddiy HTML tegi deb qabul qiladi.
App.jsxReact JSXfunction Header() {return (<header><Logo /><Navigation /></header>);}
code.textTEXTApp├── Header├── Sidebar└── Main├── ProductList│ ├── ProductCard│ └── ProductCard└── Footer
Har bir komponent faqat bitta aniq vazifaga ega bo'lishi kerak.
ProductCard — faqat bitta mahsulotni ko'rsatadi; savatga qo'shish mantig'ini alohida funksiyaga (onAddToCart) beradi, o'zi buni bajarmaydi.
Task: Badge nomli oddiy komponent yarating, u ichiga matn qabul qilsin.
Task: Header, Main, Footer komponentlaridan iborat oddiy landing page tuzilmasini yarating.
App.jsxReact JSXfunction userCard() {return <p>Salom</p>;}function App() {return <userCard />;}
Your Task: Bu kod nega ishlamaydi?
<details> <summary>Solution</summary> `userCard` kichik harf bilan boshlangan, shuning uchun React uni HTML tegi (`<usercard>`) deb qabul qiladi, komponent sifatida emas. Nomi katta harf bilan boshlanishi kerak: ```jsx function UserCard() { return <p>Salom</p>; }function App() {
return <UserCard />;
}
</details>
## 📌 Chapter Summary
Komponent — UI qaytaruvchi oddiy funksiya. Kichik, mas'uliyati aniq komponentlar — scalable UI'ning asosi.
## 🎯 Key Takeaways
- Komponent nomi har doim katta harf bilan boshlanadi
- Komponentlar kompozitsiya orqali birlashtiriladi
- Har bir komponent bitta aniq mas'uliyatga ega bo'lishi kerak
## ⚡ Quick Cheat Sheet
```jsx
function ComponentName() {
return <div>...</div>;
}
<>
<Header />
<Main />
<Footer />
</>
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: