Why can Context hurt performance, and how do you mitigate it?
Quick answer
Every consumer re-renders when the Provider value changes. Passing a new object each render re-renders all consumers. Memoize the value and split contexts.
In detail
Context isn't optimised for fine-grained updates — when the value changes, all consumers re-render even if they use only part of it. A fresh object literal as value ({ user, setUser }) changes every render, re-rendering everyone. Fix by memoizing the value with useMemo, splitting unrelated data into separate contexts, or using a dedicated store (Zustand/Redux) with selectors for high-churn state.
const value = useMemo(() => ({ user, setUser }), [user]);
return <Ctx.Provider value={value}>{children}</Ctx.Provider>;Why interviewers ask this: A senior follow-up that catches surface-level context knowledge.
This is 1 of 118+ questions in the React Interview Kit
Get every question with detailed answers, follow-ups and real code — plus coding challenges and a last-minute revision sheet. One-time payment, instant access.
⚡ Get the React Interview Kit → ₹399