Zarządzanie stanem React za pomocą kontekstu

YouTube :

CodeSandbox :

Motywacja

Po co używać kontekstu do obsługi stanu reakcji? Z tego samego powodu, dla którego używasz Redux do zarządzania sklepem z aplikacjami. Jeśli twoje komponenty komunikują się ze sobą i stan podnoszenia staje się kłopotliwy, Context jest natywnym sposobem radzenia sobie ze stanem aplikacji.

Warunki wstępne

Będziemy dokonywać refaktoryzacji <App>— która wykorzystuje stan lokalny — w celu użycia kontekstu:

Jak widać, jest licznik z 2 przyciskami, które zwiększają lub zmniejszają licznik.

Dostawca

Utwórz <Provider>i ustaw rekwizyt valuena 0:

Renderuj <Provider>jako komponent najwyższego poziomu w index.js:

Uzyskaj dostawcę valuew useContext:<App>

użyjReduktora

Utwórz funkcję reduktora:

Przekaż stan i wyślij z useReducerdo dostawcy prop value:

Zaktualizuj <App>z nową wartością kontekstu:

Konsument

Alternatywą dla useContextjest Konsument .

Najpierw wyeksportuj Consumerz kontekstu:

Następnie zamień useContextna <Consumer>:

<Consumer>wymaga funkcji zwrotnej dla prop children. Pierwszym argumentem jest Dostawca value.

Klasa

W przypadku składników klasy wartość Provider jest dostępna na this.context:

Do zrobienia

Pomysły na ulepszenia:

  • Zbuduj niestandardowy hak dla useContext(Context).
  • Refaktoryzuj typy akcji na stałe.
  • Twórz twórców akcji.
  • Ustaw displayNamena Context, aby poprawić widoczność w React DevTools.
  • Film z YouTube
  • Demo CodeSandbox
  • Kontekst
  • użyjReduktora

Suggested posts

Unikanie niszczycielskich konsekwencji udaru mózgu: nauka z rodzinnej podróży.

Unikanie niszczycielskich konsekwencji udaru mózgu: nauka z rodzinnej podróży.

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.

Moje najczęściej używane zasoby dotyczące kodowania

Moje najczęściej używane zasoby dotyczące kodowania

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.

Related posts

3 sprawdzone sposoby na poprawę umiejętności pisania

Korzyści płynące z pisania i strategie, które Ci w tym pomogą

3 sprawdzone sposoby na poprawę umiejętności pisania

W 2022 roku, wraz z wydaniem GPT-3, umiejętność pisania wydaje się tracić na znaczeniu. Dzięki sztucznej inteligencji osoby o słabym pisaniu mogą również generować wysokiej jakości personel.

Powolna erozja: ujawnianie sposobów, w jakie ludzie marnują swoje kariery

Powolna erozja: ujawnianie sposobów, w jakie ludzie marnują swoje kariery

W dzisiejszym dynamicznym i konkurencyjnym świecie kariera odgrywa znaczącą rolę w rozwoju osobistym, stabilności finansowej i ogólnej satysfakcji z życia. Jednak wiele osób wpada w nieustający cykl stagnacji i niezadowolenia, stopniowo marnując swoje życie zawodowe.

Zabójstwo Jordana Neely'ego i problem „patriotycznego” rasizmu

Czy Stany Zjednoczone mogą zrobić zasadniczy krok, by nie utożsamiać zachowania rasistowskiego z byciem dobrym Amerykaninem?

Zabójstwo Jordana Neely'ego i problem „patriotycznego” rasizmu

[Ostrzeżenie: ten esej zawiera zrzuty ekranowe ludzi wychwalających mordercę Jordana Neely'ego.] Funkcjonariusze organów ścigania w końcu - i być może niechętnie - oskarżyli Daniela Penny'ego, człowieka, który dusił Jordana Neely'ego aż do śmierci, o to zabójstwo.

Telewizja sieciowa Twitter

Telewizja sieciowa Twitter

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.