Haza - Blog - Részletek

Mik a React Horgok és hogyan működnek?

Catherine rajongó
Catherine rajongó
Catherine kezeli a logisztikai és ellátási láncot, biztosítva a termékek, például a drótszalagok, a globális ügyfelek számára történő időben történő szállítását.

Hé! Hook -beszállítóként nagyon izgatott vagyok, hogy ma beszélek a React Hooks -ról. A React Hooks játék volt - váltó a React fejlesztésének világában, és azt hiszem, nagyon jó megérteni, hogyan működnek. Szóval, merüljünk be közvetlenül!

Mik azok a reagálók?

Először az első dolgok, mi a földön a reagálókkal? Nos, a React Horgok olyan funkciók, amelyek lehetővé teszik, hogy a „React” állapot- és életciklus -funkciókba bekapcsolódjon a függvénykomponensekből. Mielőtt a horgok elindultak, ha egy alkatrészben állapotban vagy más React funkciókban akart használni, akkor osztálykomponenseket kellett használni. De a horgok esetén mindezt megteheti egy függvénykomponensben, ami sokkal egyszerűbb és könnyebben kezelhető.

Gondoljon a horgokra olyan kis eszközökre, amelyeket felvehet és felhasználhat a React Function összetevőiben. Hozzáférést biztosítanak olyan dolgokhoz, mint az államkezelés, az oldalsó effektusok (például az adatok letöltése vagy az események feliratkozása) és más React funkciókhoz, anélkül, hogy osztályt kellene írniuk.

Az egyik legalapvetőbb és leggyakrabban használt horg aaz USSStatehorog. Ez lehetővé teszi az állapot hozzáadását egy függvénykomponenshez. Tegyük fel, hogy egy egyszerű számlálóalkalmazást készít. Velaz USSState, a számjegyet megfelelően kezelheti a funkció összetevőjében.

Import React, {useState} a 'React' -ből; function számláló () {const [count, setCount] = szexuális (0); return (<div> <p> kattintott a {count} idők </p> <gomb onClick = {() => setCount (count + 1)}> kattintson a Me </blub> </div>); } exportálási alapértelmezett számláló;

Ebben a példában:az USSStateegy olyan horog, amely kezdeti értéket vesz (ebben az esetben,0) és visszaad egy tömböt két elemmel. Az első elem (számítás) az aktuális állapotérték és a második elem (setcount) egy olyan funkció, amelyet az állam frissítéséhez használhat.

Hogyan működnek a React Hooks?

Most mutassuk be, hogy ezek a horgok hogyan működnek. A React Hooks néhány fontos szabályra támaszkodik.

1. szabály: Csak a legfelső szinten hívóhorgok

Nem hívhatja meg a horgokat a hurkok, feltételek vagy beágyazott funkciók belsejében. A horgokat pontosan ugyanabban a sorrendben kell hívni, amikor egy alkatrész megjelenik. A React nyomon követi az összetevőben hívott horgokat, és ha rendezetlennek hívja őket, ez igazán furcsa hibákhoz vezethet.

Például ez rossz:

funkció a badComponent (kellékek) {if (props.isVisible) {// rossz! Ez megsérti a szabály const [érték, setValue] = useState ('alapértelmezett'); visszatérés <div> {érték} </div>; } visszatérés null; }

És ez jó:

Function GoodComponent (kellékek) {const [érték, setValue] = felhasználás ('alapértelmezett'); if (props.isVisible) {return <div> {érték} </div>; } visszatérés null; }

2. szabály: Csak a React funkciók hívóhorgjai

Csak a React funkció összetevőiből vagy az egyedi horgokból hívhat horgokat. Nem hívhatja őket a szokásos JavaScript funkciókból. Ez biztosítja, hogy a horgok használják a React komponensek összefüggésében.

Különböző típusú reagálási horgok

Számos beépített - a reagálásban lévő horgokban, és mindegyikük különböző célokat szolgál.

felhasználás

AfelhasználásA horgot az alkatrész oldalsó hatásaihoz használják. Az oldalsó hatások olyan dolgok, mint az adatok letöltése, előfizetés beállítása vagy a DOM manuálisan megváltoztatása a React komponensben.

Import React, {useState, useFect} a 'React' -ből; function dataFetcher () {const [data, setData] = useState (null); useFect (() => {// Az adatok szimulálása a letöltés ('https://api.example.com/data') .Then (Response => Response.json ()) .Then (data => setData (adatok)); // tisztító funkció return () => {// ez, amikor az összetevőt nem fogják futtatni;}; return (<div> {data? <p> {data.message} </p>: <p> betöltés ... </p>} </div>); } Exportálási alapértelmezett dataFetcher;

Ebben a példában afelhasználásA horog alapértelmezés szerint minden renderelés után fut. De ha második érvként átad egy üres tömböt, akkor csak egyszer fog futni, hasonlóankomponensDidMountegy osztálykomponensben. Az opcionális tisztítási funkciót arra használják, hogy megtisztítsák a hatásban beállított erőforrásokat, például az előfizetés törlését.

usecontext

AusecontextA Hook lehetővé teszi a kontextushoz való hozzáférést egy függvénykomponensben. A kontextus az adatok átadása az alkatrészfán keresztül anélkül, hogy minden szinten manuálisan át kellene adnia a kellékeket.

Import React, {CreateContext, usheContext} a 'React' -ből; const myContext = createContext (); function szülő () {return (<mycontext.provider value = "hello a context -ből"> <child /> </mycontext.provider>); } function child () {const contextValue = usecontext (myContext); return <p> {contextValue} </p>; } exportálási alapértelmezett szülő;

Ebben a példában aSzülőa komponens értéket ad a kontextusnak, és aGyermekaz összetevő hozzáférhet ehhez az értékhez ausecontexthorog.

Egyedi horgok

Hook -beszállítóként szeretnék megemlíteni az egyedi horgokat is. Az egyedi horgok nagyszerű módja annak, hogy újra felhasználják az alkatrészek közötti állapotos logikát. Készítheti saját horgjait a Hook -kapcsolódó logika külön funkcióba történő kinyerésével.

Tegyük fel, hogy több összetevője van, amelyeknek adatokat kell lehozniuk egy API -ból. Készíthet egy egyedi horgot ehhez.

Import React, {useState, useFect} a 'React' -ből; funkció használatiAFetChing (URL) {const [data, setData] = felhasználás (null); const [betöltés, setloading] = felhasználás (igaz); useFect (() => {setloading (true); Fetch (URL) .Then (Response => Response.json ()) .Then (data => {setData (adatok); setloading (hamis);});}, [url]); return {adatok, betöltés}; } function componenta () {const {data, betöltése} = itedAfetching ('https://api.example.com/dataa'); return (<div> {betöltés? <p> betöltés ... </p>: <p> {data.message} </p>} </div>); } function componentb () {const {data, betöltése} = itedAfetching ('https://api.example.com/datab'); return (<div> {betöltés? <p> betöltés ... </p>: <p> {data.message} </p>} </div>); }

Ebben a példában ahasználtatatafetchingAz egyéni horog beilleszti a logikát az API -ból származó adatok lekérésére. MindkétösszetettésAlkatrészbHasználhatja ezt az egyéni horogot a különböző adatok lekéréséhez.

Hook termékeink

Most, mint egy horogszállítók, azt is szeretném elmondani neked néhány fantasztikus horgos termékünkről. Különböző alkalmazásokhoz széles körű horgok vannak. Például a miVontatóhorogKiválóan alkalmas nehéz terhelések vontatására. Magas minőségű anyagokból készül, és nagyon tartós.

Ha olyan horogra van szüksége, amely könnyen elforgatható és könnyedén elforgatható, a miSnap Swivel J Hooknagyszerű választás. Nagyon sokoldalú, és sokféle forgatókönyvben felhasználható.

És azok számára, akiknek lapos J - alakú horogra van szükségük a tartozékokhoz, a miKiegészítő fém lapos J horogCsak az, amit keresel. Erős és biztonságosan képes különféle kiegészítőket.

Következtetés és cselekvésre ösztönzés

A React Hooks csodálatos kiegészítés a React ökoszisztémához. Megkönnyítik a funkciós összetevők írását és kezelését, és intuitívabb módszert kínálnak az állapot és az oldalsó hatások kezelésére. Függetlenül attól, hogy kezdő vagy tapasztalt React fejlesztő vagy, a horgok megértése és használata valóban növelheti fejlesztési képességeit.

Tow Hook6-REMO~1

Ha érdekli a horogtermékek, szeretnénk beszélgetni veled. Akár egyetlen horgot keres, akár ömlesztett megrendelésre van szüksége, itt vagyunk, hogy segítsünk. Csak vegye fel velünk a kapcsolatot, és örömmel megvitatjuk az Ön igényeit, és a legjobb megoldásokat nyújtjuk Önnek.

Referenciák

  • React hivatalos dokumentáció
  • Különböző online reagálási oktatóanyagok és blogok

A szálláslekérdezés elküldése

Népszerű blogbejegyzések