React · Senior · Pytanie 21 z 75
Dlaczego useContext nie ma „selektorów” i jak się to obchodzi?
- ✓Poprawna odpowiedź: Kontekst budzi wszystkich konsumentów; podziel kontekst lub użyj zewnętrznego store'a
- 2Ma: drugi argument to
useContext(Ctx, selector) - 3Selektory nie są potrzebne: React sam porównuje pola obiektu
value
Wyjaśnienie
Każda zmiana value przerenderowuje wszystkich wywołujących useContext, nawet jeśli potrzebują jednego pola. Obejścia: kilka wąskich kontekstów, memoizowani konsumenci, biblioteka use-context-selector lub store z subskrypcją przez selektory (Zustand, Redux, Jotai).