Props orqali variant boshqarish, conditional rendering va state-based styling — misol, test va amaliy topshiriqlar bilan.
App.jsxReact JSXfunction Avatar({ src, size = "md" }) {const sizes = { sm: "w-8 h-8", md: "w-12 h-12", lg: "w-20 h-20" };return <img src={src} className={`${sizes[size]} rounded-full object-cover`} />;}
App.jsxReact JSXfunction Accordion({ title, children }) {const [isOpen, setIsOpen] = useState(false);return (<div className="border rounded-lg"><button onClick={() => setIsOpen(!isOpen)} className="w-full flex justify-between items-center p-4"><span>{title}</span><span className={`transition-transform duration-200 ${isOpen ? "rotate-180" : ""}`}>▼</span></button>{isOpen && <div className="p-4 border-t">{children}</div>}</div>);}
⚠️ Common Mistake
State'ga bog'liq klasslarni to'g'ridan-to'g'ri template literal ichida yozishga urinish (masalan bg-${color}-500) — bu Part 20'da ko'rilgan content-detection muammosiga olib keladi.
Task: Avatar componentiga 4-chi o'lcham (xl) qo'shing.
Task: Accordion componentini kengaytirib, bir vaqtda faqat bitta bo'lim ochiq turadigan qilib yasang (parent state orqali).
Task: Tabs componentini yarating — bir nechta tab, faol tab boshqacha stil bilan (border-b-2 border-blue-500 text-blue-600) ko'rsatiladi.
App.jsxReact JSXfunction Toast({ type }) {return <div className={`bg-${type}-500`}>Xabar</div>;}
Your Task: type="success" uzatilganda ranglar nega ishlamayapti?
React'da Tailwind — props orqali variant tanlash (lookup obyekt), state orqali shartli klass qo'shish (ternar/&&) va conditional rendering bilan birlashadi.
App.jsxReact JSXconst sizes = { sm: "...", md: "...", lg: "..." };className={sizes[size]}className={`base ${condition ? "a" : "b"}`}{condition && <Component />}
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 / 3 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: