React useContext
import { createContext, useContext, useState } from "react";
const ThemeContext = createContext("light");
function Toolbar() {
const { theme, toggleTheme } = useContext(ThemeContext);
return (
<div className={`toolbar toolbar-${theme}`}>
<button onClick={toggleTheme}>
Switch to {theme === "light" ? "dark" : "light"}
</button>
</div>
);
}
function App() {
const [theme, setTheme] = useState("light");
function toggleTheme() {
setTheme((prev) => (prev === "light" ? "dark" : "light"));
}
return (
<ThemeContext.Provider value={{ theme, toggleTheme }}>
<Toolbar />
</ThemeContext.Provider>
);
}
export default App;
export { ThemeContext };