Render'ga sabab bo'luvchi omillar, render va commit fazalari, keng tarqalgan noto'g'ri tushunchalar — test va mashqlar bilan.
Bu — React'ni chuqur tushunish uchun eng muhim boblardan biri: render va commit fazalari, va ularga nima sabab bo'lishi.
Komponent qayta render bo'lishiga uchta asosiy sabab bor: (1) o'z state'i o'zgarishi, (2) props o'zgarishi, (3) parent'i qayta render bo'lishi.
code.textTEXTState Change↓Render Phase (React yangi UI tasvirini hisoblaydi)↓Compare (eski va yangi tasvir solishtiriladi)↓Commit Phase (haqiqiy DOM yangilanadi)
Render phase — React komponentlarni chaqirib, "qanday bo'lishi kerak" degan yangi UI tasvirini hisoblaydi (hali DOM'ga tegmaydi). Commit phase — React haqiqiy DOM'ni shu tasvirga mos qilib yangilaydi.
⚠️ Common Mistake
"Komponent render bo'lsa, DOM har doim o'zgaradi" — bu noto'g'ri. React yangi va eski tasvirni solishtirib (diffing), faqat haqiqiy farq bo'lgan joylarni DOM'da yangilaydi.
Task: Ikkita komponent (Parent va Child) yarating, Parentda state o'zgarganda Child ham re-render bo'lishini konsol orqali kuzating (console.log yordamida).
Stsenariy: Dasturchi "komponent render bo'lганda, albatta DOM ham o'zgaradi, shuning uchun render sonini kamaytirish har doim performance uchun foydali" deb noto'g'ri fikrlaydi.
Your Task: Bu fikrdagi xatoni toping.
<details> <summary>Solution</summary> Render — faqat hisoblash, u har doim qimmat emas. React ichki diffing orqali haqiqiy DOM o'zgarishlarini minimallashtiradi. Ba'zan optimallashtirish (masalan `useMemo`, `React.memo`) ning o'zi ham qo'shimcha xarajat (murakkablik, xotira) keltiradi — shuning uchun avval o'lchash (profiling), keyin optimallashtirish tavsiya etiladi. </details>Render — state, props yoki parent o'zgarishi natijasida sodir bo'ladi. Render phase — hisoblash, Commit phase — DOM'ga qo'llash. Render bo'lishi DOM albatta o'zgaradi degani emas.
code.textTEXTState/Props/Parent o'zgaradi↓RENDER (hisoblash)↓COMPARE (diffing)↓COMMIT (DOM yangilanadi, faqat farq bo'lgan joylarda)
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 / 1 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: