ikona
ikona
ikona
dots
Orbit item
Orbit item
Orbit item
Circle

Ako efektívne využiť paralelizáciu a konkurenčnosť procesovZefektívnenie React aplikácií: Hooky useTransition a useDeferredValue v praxi

Zefektívnenie React aplikácií: Hooky useTransition a useDeferredValue v praxi

React 18 prináša model "concurrency", ktorý umožňuje efektívnejšie spracovávanie aktualizácií v aplikácii. Tento model rozdeľuje aktualizácie na prioritné (high-priority) a s menej prioritné (low-priority). Pre využitie concurrency je potrebné označiť aktualizácie ako low-priority pomocou startTransition alebo useDeferredValue.

Originálny článok nájdete na https://sinja.io, a dokumentáciu React.js, z ktorej sme čerpali informácie, možno nájsť vo verejne dostupných zdrojoch. Tieto materiály odporúčame všetkým, ktorí majú záujem o vývoj a programovanie React aplikácií a portálov.

Rubrika "Zaujímavosti zo sveta" prináša články a témy, ktoré objavujeme počas štúdia a získavania informácií zo sveta technológií. Snažíme sa byť vždy v centre diania, pokiaľ ide o technologické novinky, a preto pozorne sledujeme najnovšie trendy a poskytujeme vysvetlenia technológií, ktoré využívame.

Hook useTransition umožňuje spracovávať low-priority aktualizácie a monitorovať ich stav. Hook useDeferredValue je užitočný pre spracovanie stavu v kritických a náročných komponentoch, čo zlepšuje používateľský zážitok v aplikácii a celkové odozvy vašej stránky, ktorú programujete.

Concurrency alebo teda súbežnosť v React 18

Súbežnosť je model vykonávania, kde rôzne časti programu môžu byť vykonané mimo poradia bez ovplyvnenia výsledku. Tento model sa v JavaScripte v prehliadači nazýva kooperatívny multitasking, kde časti programu môžu byť pozastavené a neskôr pokračovať, napríklad pri čakaní na odpoveď zo servera​​.

Aktualizácie pred a po React 18

Pred React 18 boli všetky aktualizácie v Reacte synchronné, čo mohlo negatívne ovplyvňovať používateľskú skúsenosť pri zložitých aktualizáciách. React 18 predstavil dva typy aktualizácií: prioritné / urgentné (vysoká priorita) a menej prioritné / tranzitné (nízka priorita). Kvôli spätnej kompatibilite. sú v predvolenom nastavení všetky aktualizácie urgentné a nemožno ich prerušiť. Pre prechod na paralelné vykresľovanie je potrebné aktualizácie označiť ako nízkej priority pomocou startTransition alebo useDeferredValue​​.

Funkcia startTransition a hook useTransition

startTransition je základná funkcia na spustenie prechodu, ktorá umožňuje označiť aktualizácie stavu ako nízkej priority. Hook useTransition v React komponente poskytuje funkciu startTransition a booleovskú hodnotu, ktorá indikuje, či je aktualizácia nízkej priority v priebehu. Tento háčik umožňuje efektívnejšie riadiť aktualizácie a minimalizovať dopady na výkon aplikácie​​.

Hook useDeferredValue

useDeferredValue je užitočný, keď sa ten istý stav (state) používa v kritických a zložitých komponentoch. Tento hook umožňuje mať dve verzie toho istého stavu - jednu pre kritické komponenty (napr. vstupné polia, inputy, kde meškanie nie je prijateľné) a druhú pre komponenty, kde sú používatelia zvyknutí na dlhšie oneskorenia (napr. výsledky vyhľadávania)​​.

Pre viac informácií a prístup k originálnemu článku, z ktorého sme Vám priniesli výťažok, navštívte odkaz https://sinja.io/blog/guide-to-concurrency-in-react-18. Konkurentné spracovanie s prioritizáciou plánujeme využiť v najbližších dňoch v našich projektoch. Ideálnym kandidátom na uplatnenie týchto princípov je vyhľadávanie, ktoré spĺňa atribúty pre kritické a menej prioritné úlohy.

Mgr. Ivan Kopčík | CEO
autor článku
Mgr. Ivan Kopčík | CEO

Som človek, ktorý neustále hľadá nove výzvy a snaží sa prekonávať svoje limity. Spoločnosť For Best Clients, s.r.o. som založil po úspešnej kariére v IT ako prirodzené pokračovanie mojich skúseností. 

dots

Poradíme Vám s vašim aktuálnym eshopom

Expertné konzultácie v oblasti eshopov poskytujeme nielen našim klientom, ale je možné si dohodnúť konzultáciu aj Vášho eshop alebo web riešenia.
 

Prečo konzultácie?
consulting-promo

Naši klienti hovoria za nás

So spoločnosťou FBC so spokojný, výsledkom je spolupráca, ktorá trvá už viac rokov ako aj nový web ktorý sme spustili nedávno.

Ing. Milan  Kovalančík
Ing. Milan Kovalančík
Majiteľ & CEO, mobilonline.sk

Eshopový systém Grandus nám umožnuje plniť aj náročné požiadavky nášho segmentu. Takisto oceňujem kvalitu spolupráce pri tvorbe zadaní, riešení úloh a návrhov potrebných technických riešení v rámci našej spoločnosti.

Tomáš Nemčovič
Ing. Tomáš Nemčovič
Ecommerce Manager, Murat, s.r.o

Vďaka profesionalite, kreativite a odbornosti tímu For Best Clients môžeme tvoriť a kontinuálne zlepšovať náš destinačný portál - www.regiontrnava.sk - tak, aby návštevníkom prinášal jedinečné zážitky.prost

Ing. Alexander Prostinák
Ing. Alexander Prostinák
výkonný riaditeľ OOCR Trnava Tourism

Tešíme sa zo spolupráce so spoločnostou FBC. Táto platforma ponúka širokú škálu užitočných funkcií a nástrojov, ktoré nám umožňujú efektívne spravovať svoj e-shop a zvýšiť tak jeho výkonnosť. Ďakujeme vám za spoľahlivý produkt!

PaedDr. Matej Uram
PaedDr. Matej Uram
Majiteľ & CEO, Bežecké Potreby

FBC sme si vybrali pre technologickú vyspelosť ich riešenia, rýchlosť implementácie, proaktívny prístup a flexibilitu. Dodatočne sme zistili, že aj ľudsky sú veľmi fajn, dobre sa s nimi robí :)

Martin Drobný
Martin Drobný
CEO, Digital Solutions / Nextech

Spolupracujeme s FBC od roku 2014. Pomáhajú nám s budovaním nášho portálu www.3D.sk, ktorý slúži pre 2D a 3D grafikov z celého sveta, preto kladieme veľký dôraz na krásu portálu, jeho funkčnosť a zároveň na bezpečnosť. Rád by som vyzdvihol profesionalitu celého tímu FBC, ako aj vynikajúcu komunikáciu a promptnosť ich reakcií.

Richard Polák
Richard Polák
Majiteľ & CEO, 3D.sk
ikona
ikona
ikona