React Sinf Komponentlari
React 16.8 versiyasidan oldin, Sinf komponentlari React komponentlarida holat va hayotiy tsiklni kuzatishning yagona usuli edi. Funktsiya komponentlari "holatsiz" deb hisoblangan.
Hooks qo'shilishi bilan, Funktsiya komponentlari endi Sinf komponentlariga deyarli tengdir. Farqlar shunchalik kichikki, siz ehtimol React-da Sinf komponentlarini ishlatishga ehtiyoj sezmaysiz.
Garchi Funktsiya komponentlari afzalroq bo'lsa-da, hozirda Sinf komponentlarini React-dan olib tashlash rejalari yo'q.
Ushbu bo'lim sizga React-da Sinf komponentlarini qanday ishlatishni umumiy ko'rinishda taqdim etadi.
Agar Siz Sinf komponentlarini o'tkazib yuborishni xohlasangiz va Funktsiya Komponentlarini ishlatishni afzal ko'rsangiz, ushbu bo'limni o'tkazishingiz mumkin.
React Komponentlari
Komponentlar mustaqil va qayta ishlatiladigan kod qismlaridir. Ular JavaScript funksiyalarining o'ziga xos maqsadini bajaradi, lekin izolyatsiya qilingan holda ishlaydi va render()
funktsiyasi orqali HTML qaytaradi.
Komponentlar ikkita turga bo'linadi: Sinf komponentlari va Funktsiya komponentlari. Ushbu bo'limda Sinf komponentlarini o'rganasiz.
Sinf Komponentini Yaratish
React komponenti yaratishda, komponent nomi katta harf bilan boshlanishi kerak.
Komponent extends React.Component
bayonotini o'z ichiga olishi kerak. Ushbu bayonot React.Component-ga merosni yaratadi va sizning komponentingizga React.Component funksiyalaridan foydalanish imkonini beradi.
Komponent shuningdek render()
metodini talab qiladi, ushbu metod HTML qaytaradi.
Misol
Car
deb nomlangan Sinf komponentini yarating:
Endi sizning React ilovangizda Car
deb nomlangan komponent mavjud bo'lib, <h2>
elementini qaytaradi.
Ushbu komponentni ilovangizda ishlatish uchun, HTML kabi sintaksisdan foydalaning: <Car />
Misol
Car
komponentini "root" elementida ko'rsating:
Komponent Konstruktor
Agar komponentingizda constructor()
funktsiyasi mavjud bo'lsa, ushbu funksiya komponent yaratilib bo'lgandan so'ng chaqiriladi.
Konstruktor funksiyasi komponentning xususiyatlarini boshlang'ich qiymatlarni aniqlash uchun ishlatiladi.
React-da, komponent xususiyatlari state
deb nomlangan obyekt ichida saqlanishi kerak.
Misol
Car
komponentida konstruktor funksiyasini yarating va color
xususiyatini qo'shing:
Props
Komponent xususiyatlarini boshqarishning yana bir usuli - bu propslardan foydalanish.
Propslar funksiyalarga o'xshash bo'lib, siz ularni atribut sifatida komponentga yuborasiz.
Misol
Car
komponentiga rangni atribut sifatida yuboring va render()
funksiyasida foydalaning:
Komponentlar Ichida Komponentlar
Biz komponentlarni boshqa komponentlar ichida ishlatishimiz mumkin:
Misol
Car
komponentini Garage
komponentida ishlating:
Komponentlar Fayllarda
React kodni qayta ishlatish bilan bog'liq va tavsiya etiladi, ba'zi komponentlarni alohida fayllarda saqlash.
Buni amalga oshirish uchun, yangi fayl yaratib, kodni ichiga qo'ying:
Eslatma: Fayl nomi katta harf bilan boshlanishi kerak.
Misol
Bu yangi fayl, biz uni Car.js
deb nomladik:
Car
komponentini ishlatish uchun, siz ushbu faylni ilovangizga import qilishingiz kerak.
Misol
Endi Car.js
faylni ilovaga import qilamiz va Car
komponentini, u bu yerda yaratilganidek ishlatamiz:
React Sinf Komponentlarining Holati
React Sinf komponentlari o'z ichiga kiruvchi holat obyektiga ega.
Siz holatni avvalgi bo'limda komponent konstruktorida ishlatganingizni ko'rgan bo'lishingiz mumkin.
Holat obyekti komponentga tegishli qiymatlarni saqlash uchun ishlatiladi.
Holat obyekti o'zgarganda, komponent qayta rendirlanadi.
Misol Konstruktor metodida holat obyektini aniqlang:
Holat obyekti istalgancha xususiyatlarni o'z ichiga olishi mumkin:
Misol Komponentingizga kerakli barcha xususiyatlarni aniqlang:
Holat Obyektini Ishlatish
Holat obyektiga komponent ichida this.state.propertyname
sintaksisi orqali murojaat qiling:
Misol
render()
metodida holat obyektiga murojaat qiling:
Holat Obyektini O'zgartirish
Holat obyektidagi qiymatni o'zgartirish uchun, this.setState()
metodidan foydalaning.
Holat obyektidagi qiymat o'zgarganda, komponent qayta rendirlanadi, ya'ni chiqish yangi qiymatga mos ravishda o'zgaradi.
Misol Rang xususiyatini o'zgartiradigan tugmani qo'shing:
Bu tugma bosilganda, changeColor
metodi chaqiriladi va holatning color
xususiyati yangi qiymatga o'zgartiriladi. Komponent qayta rendirlanadi va yangi rang ko'rsatiladi.
ComponentDidMount va boshqa Hayotiy Tsikl Metodlari
React Sinf komponentlari o'z hayotiy tsikliga ega. Komponent hayotiy tsikliga quyidagi metodlar kiradi:
componentDidMount()
: Komponent birinchi bor DOMga qo'shilganidan so'ng chaqiriladi.componentDidUpdate(prevProps, prevState)
: Komponent yangilanganidan so'ng chaqiriladi.componentWillUnmount()
: Komponent DOMdan olib tashlangandan so'ng chaqiriladi.
Misol
componentDidMount
metodini qo'shing:
Foydalanuvchi Holati
Siz sinf komponentlarini yaxshi bilishingiz va biror holatda qabul qilish uchun ularni ishlatishingiz mumkin. Holatlar va propslar bilan tajriba orttirishingiz mumkin.
Ushbu bo'limda siz React Sinf komponentlarining asosiy xususiyatlarini o'rgandingiz. Keling, bu tushunchalarni amaliyotda sinab ko'ring!