Hak Reacta useContextto potężne narzędzie do udostępniania stanu między komponentami bez konieczności przekazywania danych przez długi łańcuch rekwizytów. Dzięki useContext, możesz łatwo udostępniać stan w całym drzewie komponentów, co czyni go użytecznym narzędziem do zarządzania stanem globalnym.
W tym artykule poznamy podstawy haka useContexti zobaczymy, jak możemy go użyć do zarządzania stanem w naszych aplikacjach React.
useContext?useContextto wbudowany hak React, który pozwala konsumować dane z kontekstu utworzonego przez komponent nadrzędny. Kontekst to obiekt, który przechowuje pewne współdzielone dane o stanie, do których dostęp ma dowolny komponent będący potomkiem komponentu, który utworzył kontekst.
Hak useContextprzyjmuje obiekt kontekstu jako argument i zwraca bieżącą wartość tego kontekstu. Oznacza to, że wszelkie aktualizacje kontekstu automatycznie uruchomią ponowne renderowanie wszystkich komponentów, które go używają.
useContext?Aby użyć useContext, musimy najpierw utworzyć obiekt kontekstu. Możemy to zrobić za pomocą createContextmetody z Reactbiblioteki. Oto przykład:
import React from 'react';
const MyContext = React.createContext();
import React from 'react';
const MyContext = React.createContext();
function App() {
const [count, setCount] = React.useState(0);
return (
<MyContext.Provider value={{ count, setCount }}>
<div>
<h1>Count: {count}</h1>
<Counter />
</div>
</MyContext.Provider>
);
}
function Counter() {
const { count, setCount } = React.useContext(MyContext);
const increment = () => {
setCount(count + 1);
};
return (
<div>
<button onClick={increment}>Increment</button>
</div>
);
}
Komponent Appzawija swoje komponenty potomne w MyContext.Providerkomponencie i przekazuje bieżącą wartość stanu udostępnionego jako właściwość value. W tym przypadku wartością jest obiekt zawierający countstan i setCountfunkcję.
Komponent Counterzużywa MyContextobiekt za pomocą useContexthaka i wyodrębnia countstan oraz setCountfunkcję z obiektu kontekstu. Następnie używamy tej incrementfunkcji, aby zaktualizować udostępniony stan po kliknięciu przycisku.
useContext?useContextjest najbardziej przydatny do zarządzania stanem globalnym, do którego dostęp musi mieć wiele komponentów w całej aplikacji. Jest to dobry wybór w przypadkach, w których wiercenie podpór byłoby uciążliwe lub gdy chcesz uniknąć przechodzenia stanu przez wiele warstw komponentów.
useContextjest również dobrym wyborem w przypadkach, gdy konieczne jest przekazanie funkcji w dół drzewa komponentów. Przekazując funkcję przez obiekt kontekstu, można uniknąć konieczności przekazywania jej przez wiele warstw komponentów.
Hak useContextjest potężnym narzędziem do zarządzania stanem globalnym.
Mam nadzieję, że tyle wam wszystkim wyjaśnię.
Wstęp Udar to nagły przypadek medyczny, który może dotknąć każdego w dowolnym momencie. Występuje, gdy przepływ krwi do części mózgu zostaje zakłócony, co prowadzi do nagłej utraty funkcji mózgu.
W tym tygodniu otrzymałem wiadomość e-mail od członka codziennej listy e-mailowej. Chcieli wiedzieć: Jakie zasoby odwiedzasz codziennie, co tydzień i co miesiąc? Świetne pytanie! Cieszę się, że mogę podzielić się spostrzeżeniami na temat mojego przepływu pracy i najlepszych zasobów, z których korzystam.
To, co stare, jest teraz znowu nowe, a to, co kiedyś było lśniącą, błyszczącą rzeczą, teraz wydaje się nudne. Nie mówię o dżinsach JNCO, które powróciły wśród fajnych dzieciaków w śródmieściu wraz z innymi modami późnych lat 90.
Jeśli chcemy dalej prosperować na tej planecie, będziemy musieli prowadzić niebezpieczne rozmowy. Takie, które rzucają wyzwanie temu, co zrobiliśmy, co robimy i co obecnie zamierzamy robić (lub planujemy robić).
Kiedy wysyłasz żądanie do facebook.com, Twój komputer wyszukuje nazwę domeny, aby przetłumaczyć tę nazwę domeny na adres IP, aby komputer mógł nawiązać to połączenie.
Kiedy dorastasz, zwykle słyszysz, że świat jest taki, jaki jest, a twoje życie polega na tym, by żyć swoim życiem w świecie, nigdy nie ryzykując życia, po prostu podążaj wyznaczoną ścieżką i umrzyj w końcu i staraj się nie za bardzo walnij w ściany. Ale to bardzo ograniczone życie.