⊗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>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çeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць