const LIGHT_THEME = 'light-theme'; const DARK_THEME = 'dark-theme'; const ThemeContext = React.createContext(); function ThemeWrapper({ children }) { const [theme, setTheme] = React.useState(LIGHT_THEME); const applyTheme = (newTheme) => { document.getElementById('app').className = newTheme; setTheme(newTheme); } return ( <ThemeContext.Provider value={{ theme, applyTheme }}> {children} </ThemeContext.Provider> ) }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter