React 19.3 2026-yil 9-sentabrda chiqdi. Ko‘pchilik reliz maqolalari funksiyalar ro‘yxatidek o‘qiladi; men esa ularni o‘chirish mumkin bo‘lgan kodlar ro‘yxati sifatida o‘qiyman. Hali ko‘plab production ilovalarida ishlayotgan React 18 bilan taqqoslaganda, 19 qatori yangi sintaksisdan ko‘ra har bir jamoa o‘zi yozgan aylanma yechimlardan voz kechishga qaratilgan: formalar uchun holat mashinalari, forwardRef wrapper’lari, hamma joyda memo va typeof window tekshiruvlari.
React 19.0 poydevor bo‘ldi. Actions va useActionState har bir formadagi qo‘lda yig‘ilgan isPending / error / data uchligini almashtirdi. useOptimistic optimistik UI’ni reducer emas, hook qildi. use() render paytida promise yoki context’ni, hatto shartli ravishda ham o‘qiydi. ref oddiy prop’ga aylandi, demak forwardRef eski yondashuv; <Context> o‘zi provider bo‘la oladi; istalgan komponentdagi <title> va <meta> head’ga ko‘tariladi. O‘zgarishning narxi ham bo‘ldi: string ref’lar, legacy context, ReactDOM.render va funksiya komponentlaridagi propTypes olib tashlandi. Eski bog‘liqliklarga ega React 18 ilovasiga shunchaki versiya raqamini oshirish emas, haqiqiy yangilash kerak.
React 19.2 va React Compiler 1.0 ilova bilan ishlash hissini o‘zgartirdi. <Activity mode="hidden"> tab yoki keyingi sahifani holati bilan mounted saqlaydi, shu paytda effektlarini to‘xtatadi — ilgari buni display: none bilan taqlid qilib, natija yaxshi bo‘lishiga umid qilardik. useEffectEvent exhaustive-deps qoidasi bilan tortishuvni tugatadi: effekt roomId’ga javob beradi, callback esa eng yangi mavzuni o‘qiydi. Qisman oldindan renderlash (prerender, keyin resume) dinamik qism oqimda kelayotganida statik qobiqni CDN’dan yuboradi. Compiler qo‘lda yoziladigan useMemo, useCallback va React.memo chaqiruvlarining ko‘pini keraksiz qildi. Kutubxonaga referens identifikatsiyasi kerak bo‘lgan joyda qoldiraman, lekin endi avtomatik ravishda ishlatmayman.
React 19.3 harakatlar va DOM chegaralari haqida. <ViewTransition> endi barqaror: elementni o‘rab, yangilanishni startTransition bilan belgilaysiz, brauzer kirish, chiqish va umumiy elementlarni jonlantiradi. addTransitionType bitta holat yangilanishidan «next» va «previous» yo‘nalishlarining har tomonga siljishiga imkon beradi. Fragment refs qo‘shimcha wrapper div’siz focus(), IntersectionObserver uchun observeUsing() va yonma-yon elementlar guruhini o‘lchashni beradi. react-dom’dagi use(browser()) typeof window !== "undefined" tekshiruvini almashtiradi: komponent serverda to‘xtatiladi, Suspense fallback ko‘rinadi, hydration’dan keyin esa mijozda render bo‘ladi. Server Components «use client» provider faylisiz <Context value> render qila oladi; react-dom Trusted Types obyektlarini satrga o‘girmay uzatadi, shu bois qat’iy require-trusted-types-for CSP React bilan ishlaydi.
Yonma-yon qaralganda farq importlarda ko‘rinadi. React 18’da kutish holati, optimistik yangilanish va animatsiyali ro‘yxatli forma uchta kutubxona va maxsus hook talab qilardi; 19.3’da useActionState, useOptimistic va <ViewTransition> — barchasi React’ning o‘zidan. 18’da «faqat mijozda render qil» mounted bayrog‘i va layout siljishini anglatardi; endi bitta satr va Suspense chegarasi yetarli. 18’da tezlik memo’dan intizom bilan foydalanishga bog‘liq edi; endi Compiler hamda Chrome DevTools’dagi React Performance Tracks qaysi amal kadrni chindan to‘xtatganini ko‘rsatadi.
Pul bilan ishlaydigan mahsulotni bitta pull request’da 18’dan 19.3’ga o‘tkazmasdim. Ataylab zerikarli yo‘lim shunday: avval eskirgan API ogohlantirishlarini ko‘rish uchun 18.3, so‘ng rasmiy codemod’lar bilan 19, keyin bitta marshrutda flag ortida Compiler, yangi API’lar esa faqat kodni o‘chiradigan joylarda. 19.3 qo‘shimcha imkoniyatlar beradi va relizda breaking change yo‘q, ammo 2025-yil dekabrdagi Server Components xavfsizlik xabarlari patch versiyalar ham major kabi muhimligini eslatadi. Ilovangiz hali 18’da bo‘lsa, package.json va eng muhim uchta ekranni yuboring. Yangilash tartibi va o‘chirib tashlash mumkin bo‘lgan kodlar ro‘yxatini beraman.
Keyingi mahsulotingizga qoladigan insonni bering.
Boshlashga tayyormisiz? Yozing — hozir boshlayman va qolaman. Ikki haftalik topshirish emas, uzoq hamkorlik. Loyiha, talab va eng yaxshi yo‘lni muhokama qilaylik.