⊗jsrtPmHkUDV 18 of 47 menu

Reactdagi useDeferredValue Unumdorlik Optimallashtirish Huki

Unumdorlikni optimallashtirish huki useDeferredValue, xuddi useTransition kabi, grafik interfeysning ishlash tezligini oshirishga yordam beradi, lekin buni biroz boshqacha usulda amalga oshiradi.

O'tgan darsga qarang va useTransition bilan qanday qilib biz setFilterTerm yangilash funksiyasini o'rab qo'yganimizni ko'ring. Holatni yangilash kodi har doim ham qo'l ostida bo'lmasligi mumkin. U, masalan, siz ulagan kutubxonada yashirangan bo'lishi mumkin. Bunday holatda biz useDeferredValue hookidan foydalanishimiz mumkin. Bu holda biz yoki holatning o'zini, yoki ushbu holat yordamida hisoblangan natijani o'rab, shu orqali uning ustuvorligini pasaytirishimiz kerak bo'ladi.

Keling, ProductList child komponentining quyidagi kod bo'lagini tahlil qilaylik:

import {useDeferredValue} from 'react' function ProductList({ products }) { const deferredProducts = useDeferredValue(products); return ( <ul> {deferredProducts.map((product) => ( <li>{product}</li> ))} </ul> ); }

E'tibor bering, bu yerda biz komponent propslaridan olgan products o'zgaruvchisining o'zini useDeferredValue ga o'rab qo'ydik. Keyin natijani deferredProducts ga yozdik va keyingi ishlarimizni shu bilan olib boramiz:

const deferredProducts = useDeferredValue(products);

Endi, agar biz o'tgan darsda ko'rib chiqqan asosiy komponent kod bo'lagidan quyidagi qatorni olib tashlasak:

const [isPending, startTransition] = useTransition();

Va isPending dan foydalanish qatorini:

{isPending && <p>yangilanmoqda ...</p>}

Shuningdek, setFilterTerm funksiyasining o'rab qo'yilishini olib tashlasak, biz o'tgan darsdagi natijaga o'xshash natijaga erishamiz:

function updateFilterHandler(event) { setFilterTerm(event.target.value); }
Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish