⊗jsrtPmHkUDV 18 of 47 menu

React-da Performans Optimallashdirmə Hook-u useDeferredValue

Performans optimallashdirmə hook-u useDeferredValue, eynilə useTransition kimi, qrafik interfeysin işini sürətləndirməyə kömək edir, amma bunu biraz fərqli şəkildə edir.

Keçən dərsə nəzər yetirin və useTransition istifadə edərkən setFilterTerm yeniləmə funksiyasını necə əhatə etdiyimizə baxın. Beləliklə, state yeniləmə kodu həmişə əlçatan olmaya bilər. O, məsələn, qoşduğunuz kitabxananın içərisində gizlənmiş ola bilər. Bu halda biz useDeferredValue hook-undan istifadə edə bilərik. O zaman biz ya state-in özünü, ya da həmin state vasitəsilə hesablanan nəticəni əhatə etməli oluruq, beləliklə onun prioritetini aşağı salırıq.

Gəlin ProductList uşaq komponentinin aşağıdakı kod parçasını təhlil edək:

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

Diqqət yetirin ki, burada biz komponentin props-larından götürdüyümüz products dəyişəninin özünü useDeferredValue ilə əhatə etdik. Sonra nəticəni deferredProducts-ə yazdıq və bundan sonra onunla işləyəcəyik:

const deferredProducts = useDeferredValue(products);

İndi, əvvəlki dərsdə baxdığımız əsas komponentin kod parçasından aşağıdakı sətri silək:

const [isPending, startTransition] = useTransition();

isPending istifadə edən sətri:

{isPending && <p>yenilənir ...</p>}

Həmçinin setFilterTerm funksiyasından əhatəni aradan qaldırsaq, əvvəlki dərsdəki ilə eyni nəticəni alarıq:

function updateFilterHandler(event) { setFilterTerm(event.target.value); }
Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et