Loading
A way to share data with deeply nested components without passing it through every level — like a building-wide intercom instead of whispering through every room.
An API (createContext + Provider + useContext) that broadcasts a value to all descendants without explicit prop passing. When the context value changes, every consumer re-renders, so it works best for infrequently changing data like theme or locale.
Context propagation short-circuits fiber bailout: even if a parent memoizes, consumers will re-render when the provider value changes (compared by Object.is). This makes Context unsuitable for high-frequency state. Common mitigations include splitting contexts by update frequency, memoizing provider values, and using context selectors (available natively in React 19's use() hook).