⊗jsrtPmHkUDV 18 of 47 menu

Hook de Otimização de Desempenho useDeferredValue no React

O hook de otimização de desempenho useDeferredValue, assim como o useTransition, ajuda a acelerar a interface do usuário, mas faz isso de uma maneira um pouco diferente.

Dê uma olhada na lição anterior e veja como, no caso do useTransition, nós envolviamos a função de atualização setFilterTerm. Bem, o código de atualização de estado pode não estar sempre disponível. Ele pode estar escondido, por exemplo, em uma biblioteca que você incluiu. Nesse caso, podemos usar o hook useDeferredValue. Então precisamos envolver o próprio estado ou o resultado calculado usando esse estado, reduzindo assim sua prioridade.

Vamos analisar o seguinte trecho de código do componente filho ProductList:

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

Observe que aqui envolvemos em useDeferredValue a própria variável products, que obtivemos das props do componente. Em seguida, armazenamos o resultado em deferredProducts, com a qual trabalharemos a partir de agora:

const deferredProducts = useDeferredValue(products);

Agora, se no trecho de código do componente principal, que vimos na lição anterior, removermos a linha:

const [isPending, startTransition] = useTransition();

E a linha que usa o isPending:

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

E também remover o wrapper da função setFilterTerm, obteremos o mesmo resultado que na lição anterior:

function updateFilterHandler(event) { setFilterTerm(event.target.value); }
Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar