Šta reagiraju kuke i kako rade?
Ostavi poruku
Hej tamo! Kao dobavljač kuke, super sam uzbuđen da danas razgovaram o reakcijama kuka. React kuke su bile igra - mjenjač u svijetu reakcije razvoja, a mislim da je stvarno cool da shvati kako rade. Dakle, zaronimo pravo!
Šta reagiraju kuke?
Prvo prvo stvari, šta na zemlji reagiraju kuke? Pa, react kuke su funkcije koje vam omogućuju "kuku u" reagiranje stanja i životne funkcije iz funkcija komponenti. Prije nego što su došle kuke, ako želite koristiti državne ili druge funkcije reakcije u komponentu, morate koristiti klasne komponente. Ali sa kukama, možete sve to učiniti u funkcijskoj komponenti, što je mnogo jednostavnije i lakše upravljati.
Zamislite kuke kao male alate koje možete pokupiti i koristiti u svojim Conct Function Components. Daju vam pristup sličnim stvarima poput državnog upravljanja, strane - efekte (poput prenošenja podataka ili pretplate na događaje) i ostale reagirajuće karakteristike bez da pišu klasu.
Jedna od najosnovnijih i najčešće korištenih kuka jeUSSTATEKuka. Omogućuje vam dodavanje stanja na funkcionalnu komponentu. Recimo da izgradite jednostavnu aplikaciju Counter. SaUSSTATE, Možete upravljati vrijednosti tačke u svojoj funkcijskoj komponenti.
uvoz reagira, {usestate} iz 'react'; Funkcijski brojač () {Const [Broj, Setcount] = UseState (0); povratak (<div> <p> kliknuli ste {count} vremena </ p> <tipku onclick = {() => SetCount (grof + 1)}> kliknite mi </ div>); } Izvoz zadanog brojača;
U ovom primjeru,USSTATEje kuka koja uzima početnu vrijednost (u ovom slučaju,0) i vraća niz s dva elementa. Prvi element (brojati) je trenutna vrijednost stanja, a drugi element (SetCount) Da li je funkcija koju možete koristiti za ažuriranje stanja.
Kako reagiraju kuke?
Sad, da kopamo kako ove kuke zapravo rade. React kuke se oslanjaju na nekoliko važnih pravila.
Pravilo 1: Samo kuke na vrhu na gornjem nivou
Ne možete nazvati kuke unutar petlje, uslova ili ugniježđenih funkcija. Kuke moraju biti pozvane u potpuno istim redoslijedima svaki put kada komponentne renerge. React prati kuke koje pozivate u komponenti, a ako ih pozovete iz reda, može dovesti do nekih zaista čudnih grešaka.
Na primjer, ovo je loše:
Funkcija Badcomponent (rekvizicije) {if (prop.ivisible) {// loše! Ovo krši pravilo Const [vrijednost, setValue] = usestate ('zadano'); Povratak <div> {value} </ div>; } povrat null; }
I ovo je dobro:
Funkcija GoodComponent (rekviziti) {CONST [vrijednost, setValue] = UseState ('zadano'); ako (prop.ivisible) {povratak <div> {value} </ div>; } povrat null; }
Pravilo 2: Samo kuke za pozivanje sa funkcija reakcije
Kuke možete nazvati samo iz reagiranih komponenata funkcija ili prilagođenih kuka. Ne možete ih nazvati iz redovnih JavaScript funkcija. To osigurava da se kuke koriste u kontekstu reagiranih komponenti.
Različite vrste kuka za reakcije
Postoji nekoliko izgrađenih - u kukama u reagiranju, a svaka služe različite svrhe.
Upotreba
TheUpotrebaKuka se koristi za stranu - efekte u komponentu. Side - efekti su stvari poput dohvaćanja podataka, postavljanjem pretplate ili ručno mijenjajući dom u reaktnoj komponenti.
uvoz reagira, {usestate, uporabiti korištenje} iz "reakcije"; Funkcija Datafetcher () {Const [Podaci, setdata] = UseState (null); Upotreba (() => {// simulirajući podaci dohvaćaju ('https://api.example.com/data'). (odgovor => Odgovor.JSON ()). (podaci)); // Podaci o čišćenju () => {// ovo će se pokrenuti kada se komponent isključi};}, []); Povratak (<div> {podaci? <p> {podaci.message} </ p>: <p> Učitavanje ... </ p>} </ div>); } Izvozni zadani Datafetcher;
U ovom primjeru,UpotrebaKuka radi nakon svakog rendera prema zadanim postavkama. Ali ako prođete prazan niz kao drugi argument, on će se pokrenuti samo jednom, sličnokomponentaIdmountu klasnoj komponenti. Opcionalna funkcija čišćenja koristi se za čišćenje bilo kakvih resursa koji su postavljeni u efektu, poput otkazivanja pretplate.
USEContext
TheUSEContextKuka vam omogućuje pristup kontekstu u funkcijskoj komponenti. Kontekst je način da se prenose podaci putem stabla komponenata bez potrebe ručno prolaziti rekvizite na svaki nivo.
Uvoz reakcija, {CreatEContext, USEContext} iz 'reakcije'; const mycontext = createcontext (); Funkcija roditelj () {RETURN (<mycontext.provider value = "Pozdrav iz konteksta"> <Child /> </mycontext.provider>); } Function Child () {CONT CONTEXTVALUE = USECONTEXT (MyContext); Povratak <p> {contextValue} </ p>; } Izvozni nadležni roditelj;
U ovom primjeru,RoditeljKomponenta pruža vrijednost u kontekst iDijeteKomponenta može pristupiti tu vrijednost pomoćuUSEContextKuka.
Prilagođene kuke
Kao dobavljač kuke također želim spomenuti kuke prilagođene. Prilagođene kuke su odličan način za ponovnu upotrebu državne logike između komponenti. Možete stvoriti vlastite kuke vađenjem kuke - srodne logike u zasebnu funkciju.
Recimo da imate više komponenti koje trebaju donijeti podatke iz API-ja. Možete stvoriti prilagođenu kuku za to.
uvoz reagira, {usestate, uporabiti korištenje} iz "reakcije"; Funkcija Uredbazača (URL) {Const [Podaci, setdata] = UseState (null); const [loading, setloat] = usestate (istinito); Upotreba => {Settoading (True); Dohvaćanje (URL) .Then (odgovor => Odgovor.JSON ()) .Ten (podaci => {setdata (podaci);;}, [URL]); Povratak {podaci, učitavanje}; } Komponente funkcije () {CONST {podaci, učitavanje} = UsedAtaFecting ('https://api.example.com/dataa'); povratak (<div> {učitavanje? <p> Učitavanje ... </ p>: <p> {podaci.message} </ p>} </ div>); } Functiful ComponentB () {CONST {podaci, utovarivanje} = UsedAtaFetching ('https://api.example.com/datab'); povratak (<div> {učitavanje? <p> Učitavanje ... </ p>: <p> {podaci.message} </ p>} </ div>); }
U ovom primjeru,UsedAtafectingPrilagođena kuka inkapsulira logiku za dohvaćanje podataka iz API-ja. ObojespojiKomponentaMože koristiti ovu prilagođenu kuku za dohvaćanje različitih podataka.
Naši proizvodi za kuku
Sada, kao dobavljač za kuke, također želim da vam kažem o nekim od naših strašnih proizvoda za kuke. Imamo širok raspon kuka za različite aplikacije. Na primjer, našaKuka za vučusavršen je za vuču teških tereta. Izrađen je od visokog kvaliteta i vrlo izdržljiv.
Ako vam treba kuka koja se lako može zakretati i puknuti, našaSnap Swivel J kukaje odličan izbor. Vrlo je svestran i može se koristiti u mnogim različitim scenarijima.
A za one kojima je potrebna ravna J - u obliku kuke za dodatnu opremu, našaMetalni stan za priborje samo ono što tražite. Jak je i može čvrsto držati različite dodatke.
Zaključak i poziv na akciju
HOOKOVI REACT su nevjerojatan dodatak react ekosustavu. Oni olakšavaju pisanje i upravljanje komponentama funkcija, a oni pružaju intuitivniji način za rukovanje državom i strane - efektima. Bez obzira da li ste početnik ili iskusni programer reakcije, razumijevanje i korištenje kuka može zaista izravnati vaše razvojne vještine.


Ako ste zainteresirani za naše proizvode za kuke, voljeli bismo razgovarati s vama. Bilo da tražite jednu kuku ili trebate skupno narudžbu, tu smo da pomognemo. Samo nam posegnite, i rado ćemo razgovarati o vašim zahtjevima i pružiti vam najbolja rješenja.
Reference
- Reagirajte službenu dokumentaciju
- Različiti izvori i blogovi na mreži






