⊗jsrtPmHkUDV 18 of 47 menu

Reactдаги useDeferredValue ишчанликни оптималлаштириш хуки

Ишчанликни оптималлаштириш хуки useDeferredValue, useTransition каби, график интерфейс ишлашини тезлатта ёрдам беради, лекин буни бироз бошқча қилиб бажаради.

Ўтган дарс га назар солиб кўринг ва useTransition да setFilterTerm янгилаш функциясини қандай ўраб қўйганимизга эътибор беринг. Демак, стейтни янгилаш коди ҳар доим дастурда бўлавермайди. У, масалан, сиз улантирган кутубхона ичида бекитиб қўйилган бўлиши мумкин. Бундай ҳолда биз useDeferredValue хукидан фойдаланишимиз мумкин. Унда биз стейтнинг ўзини ёки у стейт ёрдамида ҳисобланадиган натижани ўраб қўйишимиз керак, шу тарзда унинг имтиёзли даражасини пасайтириб.

Келгила, ProductList бола компонентнинг куйидаги код боғлагини таҳлил қилайлик:

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

Эътиборингизни қаратинг, бу ерда биз useDeferredValue ичида компонент пропларидан олган products ўзгарувчисини ўраб қўйдик. Сўнгра биз натижани deferredProducts га ёздик, ва клюнги ишларни шу билан олиб борамиз:

const deferredProducts = useDeferredValue(products);

Энди, агар биз ўтган дарсда кўриб ўтган бош компонент код бўлагидаги қаторни олиб ташласак:

const [isPending, startTransition] = useTransition();

Ва isPending ишлатилган қаторни:

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

Шунингдек, setFilterTerm функциясидан ўрамани олиб ташласак, биз ўтган дарсдаги каби натижага эга бўламиз:

function updateFilterHandler(event) { setFilterTerm(event.target.value); }
Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш