Domov - Blog - Podrobnosti

Čo sú to háčiky React a ako fungujú?

Catherine fanúšik
Catherine fanúšik
Catherine riadi logistiku a dodávateľský reťazec, čím zabezpečuje včasné dodanie výrobkov, ako sú drôtové sprísnenia globálnym zákazníkom.

Hej! Ako dodávateľ háčika som veľmi nadšený, že dnes môžem hovoriť o react Hooks. Háčiky React boli hrou - menič vo svete vývoja React a myslím si, že je skutočne skvelé pochopiť, ako fungujú. Takže, poďme sa priamo dovnútra!

Čo sú to háčiky React?

Prvé veci, čo na Zemi sú háčiky React? Háčiky React sú funkcie, ktoré vám umožňujú „pripojiť sa do“ stavu reakcie a funkcií životného cyklu z funkčných komponentov. Predtým, ako prišli háčiky, ak ste chceli použiť stav alebo iné funkcie React v komponente, museli ste používať komponenty triedy. Ale s háčikmi môžete urobiť všetko vo funkčnom komponente, ktorý je oveľa jednoduchší a ľahšie spravovateľný.

Myslite na háčiky ako na malé nástroje, ktoré si môžete vyzdvihnúť a používať vo svojich komponentoch funkcie React. Poskytujú vám prístup k veciam, ako je správa štátu, vedľajšie - efekty (napríklad načítanie údajov alebo prihlásenie na odber udalostí) a ďalšie funkcie React bez toho, aby museli písať triedu.

Jedným z najzákladnejších a bežne používaných háčikov jeUsstateháčik. Umožňuje vám pridať stav do funkčného komponentu. Povedzme, že budujete jednoduchú aplikáciu na počítadlo. SUsstate, môžete spravovať hodnotu počtu priamo vo svojom funkčnom komponente.

import react, {usestate} z 'react'; funkcia counter () {const [count, setCount] = usestate (0); return (<div> <p> kliknete na {count} tims </p> <tlačidlo onClick = {() => setCount (count + 1)}> kliknite na mňa </button> </div>); } exportovať predvolené počítadlo;

V tomto príklade,Usstateje háčik, ktorý má počiatočnú hodnotu (v tomto prípade,0) a vracia pole s dvoma prvkami. Prvý prvok (počítať) je aktuálna hodnota stavu a druhý prvok (setCount) je funkcia, ktorú môžete použiť na aktualizáciu stavu.

Ako fungujú háčiky React?

Teraz sa poďme na to, ako tieto háčiky skutočne fungujú. Háčiky React sa spoliehajú na niekoľko dôležitých pravidiel.

Pravidlo 1: Háčiky volajte iba na najvyššiu úroveň

Nemôžete volať háčiky vo vnútri slučiek, podmienok alebo vnorených funkcií. Háčiky je potrebné nazvať v rovnakom poradí zakaždým, keď komponent vykreslí. React sleduje háčiky, ktoré voláte v komponente, a ak ich zavoláte z prevádzky, môže to viesť k niektorým skutočne podivným chybám.

Napríklad to je zlé:

Function BadComponent (props) {if (props.isvisible) {// bad! To porušuje pravidlo const [value, setValue] = usestate ('default'); return <div> {value} </div>; } návrat null; }

A to je dobré:

Function GoodComponent (props) {const [value, setValue] = usestate ('default'); if (props.isvisible) {return <div> {value} </div>; } návrat null; }

Pravidlo 2: Iba háčiky volania z funkcií React

Môžete volať iba háčiky z komponentov funkcie React alebo vlastných háčikov. Nemôžete im zavolať z bežných funkcií JavaScript. To zaisťuje, že háčiky sa používajú v kontexte komponentov React.

Rôzne typy hák na reakciu

Existuje niekoľko postavených - v háčikoch v reakcii a každý z nich slúži na rôzne účely.

ubytovanie

TenubytovanieHák sa používa na bočné efekty v komponente. Bočné - efekty sú veci, ako je načítanie údajov, nastavenie predplatného alebo manuálne zmena DOM v komponente React.

import react, {usestate, useEffect} z 'react'; funkcia datafetcher () {const [dáta, setData] = usestate (null); použiteEffect (() => {// simulovanie načítania údajov načítať ('https://api.example.com/data') .Then (response => response.json ()) .then (data => setData (data)); // cleanup return () = {// toto bude spustené, keď komponent unMounts}; return (<div> {data? <p> {data.Message} </p>: <p> načítanie ... </p>} </div>); } exportovať predvolený DataFetcher;

V tomto príkladeubytovanieHook sa predvolene spustí po každom vykreslení. Ale ak ako druhý argument zložíte prázdne pole, bude bežať iba raz, podobne akokomponentDidMountV komponente triedy. Voliteľná funkcia čistenia sa používa na vyčistenie všetkých zdrojov, ktoré boli v tomto účinku nastavené, napríklad zrušenie predplatného.

usecontext

TenusecontextHook vám umožňuje prístup k kontextu vo funkčnom komponente. Kontext je spôsob, ako odovzdávať údaje cez strom komponentov bez toho, aby ste museli manuálne odovzdávať rekvizity na každej úrovni.

import react, {createContext, usecontext} z 'react'; const mycontext = createContext (); Funktion Parent () {return (<myContext.provider value = "ahoj z kontextu"> <child /> </myContext.provider>); } function child () {const contextValue = useconText (myContext); return <p> {contextValue} </p>; } export predvoleného rodiča;

V tomto príkladeRodičkomponent poskytuje hodnotu kontextu aDieťakomponent má prístup k tejto hodnote pomocouusecontextháčik.

Vlastné háčiky

Ako dodávateľ háčika chcem tiež spomenúť vlastné háčiky. Vlastné háčiky sú skvelým spôsobom, ako opätovne použiť stavovú logiku medzi komponentmi. Môžete si vytvoriť vlastné háčiky extrahovaním logiky súvisiacej s háčikmi do samostatnej funkcie.

Povedzme, že máte viac komponentov, ktoré potrebujú načítať údaje z API. Môžete na to vytvoriť vlastný háčik.

import react, {usestate, useEffect} z 'react'; Funkcia použitá pridatafetching (url) {const [dáta, setData] = usestate (null); const [Loading, SetLoading] = usestate (true); použiteEffect (() => {setLoLoading (true); fetch (url) .Then (response => response.json ()) .then (data => {setData (data); setLoLada (false);});}, [url]); return {data, načítanie}; } funkcia komponenta () {const {data, loading} = použitéatafetching ('https://api.example.com/dataa'); return (<div> {načítanie? <p> Načítanie ... </p>: <p> {data.message} </p>} </div>); } funkcia komponentb () {const {data, loading} = použitéatafetching ('https://api.example.com/datab'); return (<div> {načítanie? <p> Načítanie ... </p>: <p> {data.message} </p>} </div>); }

V tomto príkladepoužitéVlastný háčik zapuzdruje logiku na načítanie údajov z API. ObazmesaKomponentbmôžete použiť tento vlastný háčik na načítanie rôznych údajov.

Naše produkty háčikov

Teraz ako dodávateľ háčika vám tiež chcem povedať o niektorých našich úžasných produktoch háčikov. Máme širokú škálu háčikov pre rôzne aplikácie. Napríklad nášVlekje ideálny na ťahanie ťažkých bremenov. Je vyrobený z vysoko kvalitných materiálov a je veľmi odolný.

Ak potrebujete háčik, ktorý dokáže ľahko otočiť a zachytiť, nášSnap Swivel J Hookje skvelá voľba. Je veľmi univerzálny a dá sa použiť v mnohých rôznych scenároch.

A pre tých, ktorí potrebujú plochý J - tvarovaný háčik na doplnky, nášKovový kovový plochý j Hookje to, čo hľadáte. Je to silné a dokáže bezpečne držať rôzne príslušenstvo.

Záver a výzva na akciu

Háčiky React sú úžasným doplnkom ekosystému React. Uľahčujú písanie a správu komponentov funkcií a poskytujú intuitívnejší spôsob, ako zvládnuť stav a vedľajšie efekty. Či už ste začiatočník alebo skúsený vývojár React, porozumenie a používanie háčikov môžu skutočne zvýšiť vaše rozvojové schopnosti.

Tow Hook6-REMO~1

Ak vás zaujíma naše produkty háčikov, radi by sme sa s vami porozprávali. Či už hľadáte jeden háčik alebo potrebujete hromadnú objednávku, sme tu, aby sme pomohli. Stačí nás osloviť a my radi diskutujeme o vašich požiadavkách a poskytneme vám najlepšie riešenia.

Odkazy

  • React Oficiálna dokumentácia
  • Rôzne online návody a blogy

Zaslať požiadavku

Populárne príspevky na blogu