⊗jsrtPmHkUDV 18 of 47 menu

Prestandaoptimerings hooken useDeferredValue i React

Prestandaoptimerings hooken useDeferredValue, precis som useTransition, hjälper till att snabba upp gränssnittets arbete, men gör det på ett lite annorlunda sätt.

Ta en titt på föregående lektion och se hur vi i fallet med useTransition lindade in uppdateringsfunktionen setFilterTerm. Koden för att uppdatera tillståndet är inte alltid tillgänglig. Den kan vara gömd, till exempel i ett bibliotek som du har anslutit. I det här fallet kan vi använda hooken useDeferredValue. Då behöver vi linda in antingen tillståndet i sig eller resultatet, beräknat med hjälp av detta tillstånd, och därigenom sänka dess prioritet.

Låt oss analysera följande kodstycke från barnkomponenten ProductList:

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

Lägg märke till att här lindade vi in variabeln products i sig i useDeferredValue, vilken vi hämtade från komponentens props. Sedan sparade vi resultatet i deferredProducts, som vi kommer att arbeta med härnäst:

const deferredProducts = useDeferredValue(products);

Om vi nu i kodstycket från huvudkomponenten, som vi tittade på i förra lektionen, tar bort raden:

const [isPending, startTransition] = useTransition();

Och raden med användningen av isPending:

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

Och även ta bort lindningen från funktionen setFilterTerm, så får vi samma resultat som i förra lektionen:

function updateFilterHandler(event) { setFilterTerm(event.target.value); }
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa