⊗jsrtPmHkUDV 18 of 47 menu

Хук оптимизације перформанси useDeferredValue у React-у

Хук оптимизације перформанси 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>ажурирам ...</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ščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј