⊗jsrtPmHkUDV 18 of 47 menu

React-ის პროდუქტიულობის ოპტიმიზაციის ჰუკი useDeferredValue

პროდუქტიულობის ოპტიმიზაციის ჰუკი 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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა