Przejdź do głównej zawartości

09. Context API — globalny stan bez bibliotek zewnętrznych

Context API — dane globalnie dostępne

Context API umożliwia przekazywanie danych przez drzewo komponentów bez ręcznego przekazywania props przez każdy poziom (prop drilling). Provider owija drzewo i dostarcza wartość, useContext w dowolnym potomku ją odbiera. Idealne dla: motywu, języka, danych auth.

Każda aplikacja React ma jakiś “globalny” stan — kto jest zalogowany, jaki motyw, jaki język. Context API pozwala zarządzać tym bez instalowania Redux czy Zustand. To wbudowane, dostępne od razu.

  1. Wyjaśnić problem prop drilling i dlaczego Context go rozwiązuje
  2. Opisać createContext, Provider, useContext
  3. Pokazać praktyczny wzorzec: ThemeContext lub AuthContext
  4. Omówić ograniczenia Context i kiedy potrzebna zewnętrzna biblioteka
  1. Prop drilling — problem przekazywania przez 3+ poziomy
  2. createContext — tworzenie kontekstu z wartością domyślną
  3. Provider — owijanie drzewa, value prop
  4. useContext — odczytywanie wartości w potomku
  5. Kiedy NIE Context — częste zmiany wartości = re-rendery wszystkich konsumentów

Przykład 1

Problem prop drilling — theme przechodzi przez 4 poziomy komponentów.

Przykład 2

ThemeContext — createContext, Provider w App, useContext w Button.

Przykład 3

AuthContext — dane zalogowanego użytkownika dostępne w nawigacji i profilu bez props.

  1. Wstęp — czym jest globalny stan, problem prop drilling
  2. Rozdział 1: Context API — mechanizm — createContext, Provider, useContext
  3. Rozdział 2: Wzorce użycia — ThemeContext, AuthContext
  4. Rozdział 3: Ograniczenia i alternatywy
  5. Podsumowanie
  6. Bibliografia

Context API = globalne dane bez bólu!

Pokaż diagram prop drilling (wiele strzałek) vs Context (jedna strzałka od Provider do konsumenta). Jeden dobry diagram jest wart tysiąc słów.