⊗jsrtPmHkUDV 18 of 47 menu

Hook optimalizácie výkonu useDeferredValue v Reacte

Hook optimalizácie výkonu useDeferredValue, podobne ako useTransition, pomáha zrýchliť prácu grafického rozhrania, ale robí to trochu inak.

Pozrite si predchádzajúcu lekciu a pozrite sa, ako v prípade useTransition sme obalili funkciu aktualizácie setFilterTerm. Kód aktualizácie stavu nemusí byť vždy dostupný. Môže byť skrytý, napríklad v knižnici, ktorú ste pripojili. V tomto prípade môžeme použiť hook useDeferredValue. Potom musíme obaliť buď samotný stav, alebo výsledok, vypočítaný pomocou tohto stavu, čím sa zníži jeho priorita.

Analyzujme nasledujúci kúsok kódu podradenej komponenty ProductList:

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

Všimnite si, že tu sme obalili v useDeferredValue samotnú premennú products, ktorú sme vzali z props komponentu. Potom sme zapísali výsledok do deferredProducts, s ktorou budeme ďalej pracovať:

const deferredProducts = useDeferredValue(products);

Teraz, ak v kúsku kódu hlavného komponentu, ktorý sme skúmali v predchádzajúcej lekcii, odstránime riadok:

const [isPending, startTransition] = useTransition();

A riadok s použitím isPending:

{isPending && <p>aktualizácia ...</p>}

A tiež odstrániť obal z funkcie setFilterTerm, dostaneme ten istý výsledok ako v predchádzajúcej lekcii:

function updateFilterHandler(event) { setFilterTerm(event.target.value); }
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť