Careeroza
Real World Example
Real World: Dark mode and language on every page
Apps like YouTube or Swiggy let you switch theme or language once and every page follows. The setting lives in context; any component reads it.
const SettingsContext = createContext();
function App() {
const [theme, setTheme] = useState('light');
const [lang, setLang] = useState('en');
return (
<SettingsContext.Provider value={{ theme, setTheme, lang, setLang }}>
<Navbar />
<Routes>...</Routes>
</SettingsContext.Provider>
);
}
function Navbar() {
const { theme, setTheme } = useContext(SettingsContext);
return <button onClick={() => setTheme(theme === 'light' ? 'dark' : 'light')}>Theme: {theme}</button>;
}