Späť na blog

Plynulé posúvanie v akcii s použitím Reactu: Tutoriál

Plynulé posúvanie v akcii s použitím Reactu: Tutoriál

React je open-source JavaScript knižnica používaná na vytváranie futuristických dizajnov webových stránok a zlepšovanie používateľských rozhraní. Vďaka svojej robustnosti, flexibilite a efektívnosti prekonala svoje konkurenčné front-end knižnice a frameworky. React poskytuje vynikajúce funkcie a výnimočné vlastnosti, ktoré uľahčujú prispôsobenie a dynamickú animáciu.

V zozname kolekcií animácií pomáha plynulé posúvanie (smooth scrolling) v Reacte zvyšovať interaktivitu webových aplikácií a zefektívňovať animácie. Plynulé posúvanie je funkcia, ktorá používateľom umožňuje prechádzať do rôznych sekcií stránky pomocou navigačného panela. To znamená, že namiesto stlačenia tlačidla a okamžitého presunu na inú časť tej istej stránky je používateľ presmerovaný na cieľ pomocou animácie posúvania.

V tomto návode vás prevedieme krokmi implementácie plynulého posúvania pomocou Reactu.

Začnime!

Požiadavky

Na sledovanie tohto návodu budete potrebovať nasledovné:

Základné nastavenie: Inštalácia react-scroll

V tomto návode pre začiatočníkov navrhneme jednoduchú aplikáciu pomocou react-scroll. Ak ovládate základy Reactu a tešíte sa na zvýšenie úrovne svojich znalostí o funkciách react-scroll, pozrite si tieto zhrnuté kroky.

Najprv nainštalujte react-scroll pomocou nasledujúceho príkazu:

Ďalej importujte react-scroll balík:

Potom vložte komponent <Link /> , ktorý bude odkazovať na konkrétnu sekciu aplikácie:

Poďme ďalej a navrhnime React aplikáciu s plynulým posúvaním.

Krok 1: Naklonovanie a spustenie React aplikácie

V našom návode budeme používať štartovací React projekt , ktorý obsahuje navigačný panel v hornej časti. Tam uvidíte päť jedinečných <sections> usporiadaných za sebou.

V súčasnosti sú odkazy v navigačnom paneli kotvy (anchor tags). Čoskoro ich však budeme musieť aktualizovať, aby sme povolili plynulé posúvanie. Prejdite na stránku React With Smooth Scrolling a prejdite do repozitára projektu. Je dôležité poznamenať, že odkaz je pre vetvu start. Vetva master obsahuje všetky dokončené zmeny. Po otvorení URL adresy uvidíte repozitár:

Smooth Scrolling in Action Using React: A Tutorial 1

Na stránke repozitára uvidíte zelené tlačidlo Code. STLAČTE šípku rozbaľovacej ponuky:

Smooth Scrolling in Action Using React: A Tutorial 2

Po kliknutí na šípku uvidíte HTTP odkaz:

Smooth Scrolling in Action Using React: A Tutorial 3

Teraz prejdite do svojho git terminálu a pomocou nasledujúceho príkazu naklonujte projekt do svojho lokálneho počítača:

V adresári src/Components nájdete súbor Navbar.js , ktorý obsahuje <Navbar> s nav-items zodpovedajúcimi piatim jedinečným <Section> usporiadaným za sebou:

Ďalej prejdite do súboru App.js v src adresári. Tam uvidíte, že <Navbar> je umiestnený spolu s piatimi <Section>mi:

V predvolenom nastavení každý <Section> komponent bude obsahovať title a subtitle.

  • DRY princíp v praxi

Keďže pre náš návod používame fiktívny text, pridajme dummyText.js súbor, aby sme ušetrili čas a obmedzili opakovanie. Použite novovytvorený JavaScript súbor na odovzdanie do každého <Section> elementu.

  • Nainštalujte React

Použite nasledujúci príkaz na SPUSTENIE aplikácie:

Spustením rpm sa vaša aplikácia spustí vo vývojovom režime. Prejdite na localhost:3000 a overte, či aplikácia beží na vašom systéme:

Smooth Scrolling in Action Using React: A Tutorial 4

Teraz, keď naša aplikácia beží, poďme ďalej a nainštalujme react-scroll v nasledujúcom kroku.

Krok 2: Inštalácia a konfigurácia React-Scroll

Najprv musíte navštíviť balík v Node Package Manager na stiahnutie react-scroll . V čase písania tohto návodu používame najnovšiu verziu react-scroll , 1.8.7. Uistite sa, že získate najnovšiu verziu, ak v budúcnosti dôjde k aktualizácii:

SPUSTITE nasledujúci príkaz na inštaláciu react-scroll:

Potom prejdite do súboru Navbar.js a importujte Link a animateScroll z react-scroll. Pre jednoduchosť a uľahčenie používania ponechajme animateScroll ako scroll:

Potom aktualizujte nav-položky tak, aby používali <Link> komponent. Uvidíte množstvo vlastností uvedených v <Link> komponent, ktorý je pre náš návod nepodstatný. Tieto vlastnosti však môžete preskúmať v stránke s dokumentáciou.

Niekoľko dôležitých vlastností, ktoré si zaslúžia vašu pozornosť:

  • activeClass – Trieda, ktorá sa použije, keď je prvok aktívny.

  • to – Informuje o určenom cieli, na ktorý sa má prejsť.

    • Vlastnosť to je kľúčová, pretože komponentu hovorí, na ktorý prvok má rolovať.

  • spy: Slúži na výber Link keď je rolovanie na cieľovej pozícii.

  • smooth: Animuje rolovanie.

  • offset: Roluje o dodatočných px napríklad ako odsadenie (padding).

    • Môžete tiež použiť offset na definovanie dodatočnej vzdialenosti rolovania, aby ste sa dostali k jednotlivému <Section>.

  • duration: Čas animácie rolovania, ktorý môže byť číslo alebo funkcia.

Tu je ukážka vlastností, ktoré možno použiť pre každý komponent <Link>. Jedinou odlišnou vecou medzi nimi bude vlastnosť to, keďže všetky ukazujú na rôzne <Section>y:

Zvážte aktualizáciu všetkých položiek nav-položiek. Po úspešnom pridaní všetkých položiek sa vráťte do prehliadača a pozrite si plynulé rolovanie naživo.

Krok 3: Štýlovanie aktívnych odkazov

V tomto kroku použijeme vlastnosti CSS na úpravu dizajnu nášho bloku kódu, aby vyzeral štýlovo. Vlastnosť activeClass vám umožňuje definovať triedu a použiť ju na komponent <Link>, keď je prvok to aktívny. Ak má používaný <Link> zobrazený prvok to v hornej časti stránky, považujte <Link> za aktívny. Kliknite na <Link> alebo prejdite nadol na <Section> manuálne, aby ste aktivovali <Link>.

Skúsme to otestovať a pozrieť sa, ako to funguje. Otvorte Chrome DevTools a preskúmajte piaty <Link> ako je zvýraznené nižšie. Kliknite na <Link> alebo manuálne posuňte <Section> do spodnej časti stránky a uvidíte, že sa aplikuje aktívna trieda:

Ako dodatočný krok vytvorte aktívnu triedu a podčiarknite odkaz. Potom pridajte tento malý blok CSS do súboru App.css v adresári src directory:

Potom obnovte prehliadač. Trochu rolujte a všimnete si, že určený <Link> je teraz podčiarknutý:

Krok 4: Pridanie ďalších funkcií

Okrem vyššie použitých vlastností existujú aj ďalšie funkcie ako scrollToTop, scrollToBottom, ktoré môžete použiť. Tieto funkcie môžete volať priamo a explicitne riadiť ich akcie. Pokiaľ ide o tieto funkcie, logo aplikácie v navigačnom paneli vás prirodzene prenesie na začiatok domovskej stránky.

Pomocou funkcie scrollToTop pridajte obsluhu kliknutia (click handler) na nav-logo na posunutie používateľa späť na začiatok stránky:

Pomocou funkcie scrollToTop pridajte obsluhu kliknutia (click handler) na nav-logo na posunutie používateľa na spodok stránky:

Keď sa vrátite do prehliadača, môžete teraz prejsť na stránke nadol, kliknúť na logo v navigačnom paneli a budete vrátení do hornej časti stránky.

Záver

Plynulé rolovanie patrí medzi funkcie, ktoré môžu webovej aplikácii pridať veľkú vizuálnu hodnotu. Balík react-scroll vám umožní využiť túto funkciu bez výraznej réžie.

Ako ďalší krok vo vašom vzdelávaní sa pozrite na ďalšie návody na React a JavaScript, ktoré nájdete na našom blogu:

Príjemnú prácu s počítačom!

author

Preslav Dobrev

Autor · CloudSigma

Preslav Dobrev je kreatívny dizajnér v spoločnosti CloudSigma, ktorý sa zameriava na konzistentnú firemnú identitu prostredníctvom tradičných a inovatívnych marketingových kanálov. Dokáže brilantne spájať umeleckú víziu so strategickým marketingom, čím vytvára pôsobivé príbehy značky.

Komentáre

Zatiaľ žiadne komentáre. Buďte prvý.