import {ThemeContext, themes} from './theme-context'; import ThemedButton from './themed-button'; // An intermediate component that uses the ThemedButton function Toolbar(props) { return ( Change Theme ); } class App extends React.Component { constructor(props) { super(props); this.state = { theme: themes.light, }; this.toggleTheme = () => { this.setState(state => ({ theme: state.theme === themes.dark ? themes.light : themes.dark, })); }; } render() { //highlight-range{1-3} // The ThemedButton button inside the ThemeProvider // uses the theme from state while the one outside uses // the default dark theme //highlight-range{3-5,7} return (
); } } const root = ReactDOM.createRoot( document.getElementById('root') ); root.render();