April 5, 2022

React 18v davomi

Assalamu alaykum va rohmatullohi va barakatuhi

Yangiliklarni Alloh qodir qilgancha yetkazishga harakat qilamiz

React 18v 29 mart 2022

O`zgarishlar saytni tezroq ishlashi uchun hizmat qiladi

1.Updates to Client Rendering API

Avvalgi maqolada faqatgina root ni create qilshni o`rgangan edik

Root ni alohida qilish nma uchun kk

18v gacha root DOM ichida joylashgan edi va uni boshqarish imkonsiz edi.

Root ozi nma ?

root ni tarjima qilsak ildiz degan manoni beradi. react da index.html ni root yaniy ildiz deyishimiz mumkin. Chunki barcha kodlar html ustiga quriladi

biz 18v gacha root ni DOM ichida ishlatdik. natijada js fayllar render bolganida (ozgarib yangilanganida) html fayl ham render bolishi kk edi.

ortiqcha render hech qachon kk emas

shu uchun 18v root ni alohida ozgaruvchiga oldi va uni render qilib componentlar bn boglab qoydi endilikda componentlar yangilanishi root ni yangilanishiga olib kelmaydi

biz ortiqcha render dan qutuldik

import * as ReactDOMClient from 'react-dom/client';
import App from 'App';

// html dan id si root ga teng bolgan div olib kelamiz 
const container = document.getElementById('root');

// root yaratamiz
const root = ReactDOMClient.createRoot(container);

// componentni root ga berib yuboramiz 
root.render(<App />);

2.batching

batching - yaniy barcha ozgaruvchi statelarni ozgartirib keyin render qilish

bu haqida avvalgi maqolamizda yetarlicha gaplashdik

3.yangi hook lar

1)useId()

noyob korinishga ega bolgan va avtomatik ravishda tartiblab beruvchi hook

korinishi :r0:

2) useTransition 3)useDeferrendValue tezkor amallar jarayonida sayt qotishi natijasini oldini olish. Oq ekran ornida ixtiyoriy element chiqarish mumkin

koproq ishlatiladigan varianti useTransition()

sabab useDeferredValue yangi korinish bermaydi. Shunchakiy avvalgi qiymatlarni vaqtinchalik ekranga chiqazib turadi

Qolgan 2 hook kutubxona mualliflariga kutubxonalarni React modeliga chuqur integratsiya qilishlari uchun taqdim etiladi va odatda dastur kodida foydalanilmaydi.