Class va Functional komponentlar
Ikki turdagi komponentlar: class (eski) va functional (zamonaviy). Qaysi birini qachon ishlatish kerak.
Komponent — React yuragi
Har bir React ilova komponentlardan quriladi. Ikki turi bor, lekin bugun birga ishlatasiz.
Dars rejasi
6 ta mavzu1. Komponent nima?
Komponent — UI'ning mustaqil, qayta ishlatiladigan qismi. Tugma, karta, forma, navbar — hammasi komponent bo'lishi mumkin. Ular oddiy JS funksiyasi yoki class sifatida yoziladi.
Functional
Oddiy funksiya. Zamonaviy React — 99% holatda shu ishlatiladi.
Class
ES6 class. Eski kodda uchraydi. Bilish kerak, lekin yangi loyihada deyarli ishlatilmaydi.
2. Functional komponent
Oddiy JS funksiyasi. JSX qaytaradi. Nomi katta harf bilan boshlanishi shart.
1function Salom() {2 return <h1>Salom, dunyo!</h1>;3}4
5export default Salom;1const Salom = () => {2 return <h1>Salom, dunyo!</h1>;3};4
5// Yoki bir qator (qavs ichida)6const Salom = () => <h1>Salom!</h1>;7
8export default Salom;1function ProfilKarta() {2 const ism = "Ali";3 const yosh = 17;4
5 return (6 <div className="karta">7 <h2>{ism}</h2>8 <p>Yosh: {yosh}</p>9 <button>Batafsil</button>10 </div>11 );12}13
14export default ProfilKarta;3. Class komponent
1import React, { Component } from "react";2
3class Salom extends Component {4 render() {5 return <h1>Salom, dunyo!</h1>;6 }7}8
9export default Salom;1import React, { Component } from "react";2
3class ProfilKarta extends Component {4 render() {5 const ism = "Ali";6 const yosh = 17;7
8 return (9 <div className="karta">10 <h2>{ism}</h2>11 <p>Yosh: {yosh}</p>12 </div>13 );14 }15}16
17export default ProfilKarta;4. Farqlar va solishtirish
1// ===== FUNCTIONAL =====2function Salom() {3 return <h1>Salom!</h1>;4}5
6// ===== CLASS =====7class Salom extends Component {8 render() {9 return <h1>Salom!</h1>;10 }11}12
13// Natija: ikkalasi ham bir xil chiqaradiFunctional afzalliklar
Qisqa, toza, hooks bilan to'liq imkoniyat. Zamonaviy standart.
Class kamchiliklari
Ko'p kod, this muammolari, eski uslub. Yangi kodda deyarli ishlatilmaydi.
2019-yildan beri React Hooks tufayli functional komponentlar class qila oladigan hamma narsani qila oladi — va ancha sodda tarzda.
5. Komponentni chaqirish
1import Salom from "./Salom";2
3function App() {4 return (5 <div>6 <Salom /> {/* self-closing */}7 <Salom></Salom> {/* yoki ochilib-yopiladigan */}8 </div>9 );10}11
12export default App;6. Bir nechta komponent
1function Header() {2 return <header><h1>Mening saytim</h1></header>;3}4
5function Asosiy() {6 return (7 <main>8 <p>Bu asosiy qism.</p>9 </main>10 );11}12
13function Footer() {14 return <footer>© 2026</footer>;15}16
17function App() {18 return (19 <div>20 <Header />21 <Asosiy />22 <Footer />23 </div>24 );25}26
27export default App;Kichik test
0 / 41.Functional komponent nima qaytarishi kerak?
2.Komponent nomi qanday boshlanishi kerak?
3.Class komponentda JSX qayerda yoziladi?
4.Zamonaviy React'da qaysi tur tavsiya etiladi?