Programming TypeScript


Import Reaksiya qilish dan 'reaksiya qilish' { FancyButton } ni import qiling


Download 1.81 Mb.
bet164/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   160   161   162   163   164   165   166   167   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

Import Reaksiya qilish dan 'reaksiya qilish'
{ FancyButton } ni import qiling './FancyButton'
turi Taqdimotlar = { birinchi ism : string userId : string }
turi Davlat = { isLoading : mantiqiy }

sinf Ro'yxatdan o'tish shakli uzaytiradi Reaksiya qilish . Komponent < rekvizitlar , holat > { davlat = { isLoading : false
} render() { qaytish <>
< h2 > Belgi yuqoriga uchun a 7 - kun ta'minlash ning bizning mazali tish pastasi endi , { bu . rekvizitlar . ism }.

_
< FancyButton
isDisabled = { bu . davlat . yuklanmoqda }
o'lcham = "Katta" text = 'Hozir ro'yxatdan o'tish' onClick = { bu . ro'yxatdan o'tish }
/>
< />
}
xususiy Ro'yxatdan o'tish = async () => { bu . setState ({ isLoading : true })
harakat qilib ko'ring {
kuting olish ( '/api/signup?userId=' + bu . rekvizitlar . foydalanuvchi identifikatori )
} nihoyat {
bu . setState ({ isLoading : false })
}
}

} ruxsat bering shakl = < Ro'yxatdan o'tish shakli birinchi ism = "Albert" userId = '13ab9g3' /> Avvalgidek, biz uni qamrab olish uchun React-ni import qilamiz.
Avvalgidek, biz misolini yaratishda qanday ma'lumotlarni kiritishimiz kerakligini aniqlash uchun Props turini e'lon qilamiz .

Komponentimizning mahalliy holatini modellashtirish uchun davlat turini e'lon qilamiz .
Sinf komponentini e'lon qilish uchun biz React.Component tayanch sinfini kengaytiramiz.
Mahalliy holat uchun standart qiymatlarni e'lon qilish uchun xususiyatni ishga tushirgichdan foydalanamiz.
Funktsiya komponentlarida bo'lgani kabi, sinf komponentining render usuli React tomonidan ko'rsatiladigan narsani qaytaradi: TSX, string, raqam, mantiqiy, null yoki undefined.
TSX maxsus <>... sintaksisi yordamida fragmentlarni qo'llab-quvvatlaydi. Fragment boshqa TSX-ni o'rab turgan nomsiz TSX elementidir va bitta TSX elementini qaytarish kerak bo'lgan joylarda qo'shimcha DOM elementlarini ko'rsatishdan qochishning bir usuli hisoblanadi. Masalan, React komponentining render usuli bitta TSX elementini qaytarishi kerak; Buning uchun biz kodimizni
yoki boshqa element bilan o'rashimiz mumkin edi, lekin bu renderlash vaqtida keraksiz ortiqcha xarajatlarga olib kelgan bo'lar edi.

bu qayta bog'lanmasligiga ishonch hosil qilish uchun biz o'q funksiyasidan foydalanib, ro'yxatdan o'tishni aniqlaymiz.
Nihoyat, biz SignupForm ni yaratamiz . Funktsiya komponentlarini yaratishda bo'lgani kabi, biz uni to'g'ridan-to'g'ri yangi SignupForm ({firstName: 'Albert', userId: '13ab9g3'}) bilan yangilashimiz mumkin edi , lekin bu React biz uchun SignupForm misolining hayot aylanishini boshqara olmasligini anglatadi. .
Ushbu misolda qiymatga asoslangan ( FancyButton , SignupForm ) va ichki ( bo'lim , h2 ) komponentlarni qanday aralashtirish va moslashtirishimizga e'tibor bering. Quyidagi kabi narsalarni tekshirish uchun TypeScript-ni ishga tushirdik:

  • holatni ishga tushirishda yoki konstruktorda aniqlangan

  • rekvizitlar va holatga kirishimizdan qat'i nazar , aslida mavjud va biz o'ylagan turdagi

  • this.state- ga to'g'ridan-to'g'ri yozmaymiz , chunki React-da holat yangilanishlari setState API orqali o'tishi kerak.

  • Bu chaqiruv renderi haqiqatan ham JSX ni qaytaradi

TypeScript yordamida siz React kodingizni xavfsizroq qilishingiz va natijada yaxshiroq va baxtli insonga aylanishingiz mumkin.
P ropTypes xususiyatidan foydalanmadik , bu ish vaqtida rekvizit turlarini e'lon qilish va tekshirish usulidir. TypeScript kompilyatsiya vaqtida biz uchun turlarni tekshirayotganligi sababli, biz buni qayta qilishimiz shart emas.

Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   160   161   162   163   164   165   166   167   ...   206




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling