Faz parte do material de React que eu montei a partir das minhas entrevistas. Abaixo, a resposta em inglês e, quando existe, a pegadinha mais comum.
Context passes a value to consumers without prop drilling. When that provider value changes by Object.is comparison, consumers using that context are notified. Built-in useContext does not select a slice. Splitting contexts and stabilizing provider values can reduce unnecessary updates.
Redux adds an external store, explicit state transitions, subscriptions, and tooling. React-Redux useSelector compares the selected result with === by default. Returning a fresh object can trigger an update even if its fields are unchanged. An equality function or a memoized selector can help.
Neither mechanism prevents renders caused by local state or parents. Choose based on state ownership, update patterns, and debugging needs, not the assumption that every shared value requires Redux.
Source: React-Redux selector equality.
Ler é o primeiro passo. No app, essa pergunta vira flashcard com repetição espaçada, e o módulo tem quiz e simulado para testar o que ficou.
Treinar essa pergunta no app