React · Middle · Pytanie 21 z 75

Dlaczego wszyscy konsumenci kontekstu przerenderowują się przy każdym renderze providera?

<AuthContext value={{ user, login, logout }}>
  {children}
</AuthContext>

Wyjaśnienie

React porównuje value przez Object.is. Literał obiektu jest zawsze nowy, więc każdy render providera budzi wszystkich konsumentów. Rozwiązanie: useMemo dla wartości (i useCallback dla funkcji) lub podział kontekstu na części.

Do poczytania

Błąd w pytaniu

React · Middle · pytanie 21

Sprawdź się

Rozwiąż test React · Middle: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test