JSX nima ekani, uning JavaScript'ga compile bo'lish jarayoni, expression, shartli render, Fragment va ro'yxatlar — test va mashqlar bilan.
Loyiha tayyor — endi komponent ichida UI'ni tasvirlash uchun ishlatiladigan sintaksis: JSX.
JSX — HTML'ga o'xshash, lekin JavaScript ichida yoziladigan sintaksis kengaytmasi.
App.jsxReact JSXconst name = "Abbos";return <h1>Hello, {name}</h1>;
code.textTEXTJSX → Babel/SWC Compiler → React.createElement() → React Element (obyekt)
<h1>Salom</h1> aslida React.createElement('h1', null, 'Salom') ga aylanadi.
App.jsxReact JSXreturn <p>2 + 2 = {2 + 2}</p>;return <p>{isOnline ? "Online" : "Offline"}</p>;
App.jsxReact JSXreturn (<><h1>Sarlavha</h1><p>Matn</p></>);return <ul>{names.map((n) => <li key={n}>{n}</li>)}</ul>;
⚠️ Common Mistake
Bitta komponentdan bir nechta root element qaytarishga urinish — Fragment (<>...</>) yoki wrapper element kerak.
Task: age o'zgaruvchisini JSX ichida ko'rsating.
Task: isLoggedIn boolean asosida "Xush kelibsiz" yoki "Kirish" matnini shartli render qiling.
App.jsxReact JSXfunction App() {return (<h1>Sarlavha</h1><p>Matn</p>);}
Your Task: Bu kod nega xato beradi?
<details> <summary>Solution</summary> Bitta komponent faqat bitta root element qaytarishi mumkin. Ikkita elementni Fragment yoki `<div>` bilan o'rab olish kerak: ```jsx function App() { return ( <> <h1>Sarlavha</h1> <p>Matn</p> </> ); } ``` </details>JSX — compile bo'ladigan JavaScript, HTML emas. Har bir komponent faqat bitta root element qaytaradi. JSX ichida faqat expression ishlatiladi, statement emas.
{ } ichida faqat JavaScript expressionApp.jsxReact JSX{variable} // o'zgaruvchi{condition ? A : B} // ternary{condition && <X />} // shartli render<>...</> // Fragment{arr.map(x => <li key={x.id}>{x.name}</li>)}
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: