11import React , { useState , createContext , useContext } from "react"
2- import ReactDOM from "react-dom"
2+ import { createRoot } from "react-dom/client "
33
44const languages = [ "JavaScript" , "Python" ]
55const LanguageContext = createContext ( {
@@ -8,25 +8,14 @@ const LanguageContext = createContext({
88 setLanguage : ( ) => { } ,
99} )
1010
11- function App ( ) {
12- const [ language , setLanguage ] = useState ( languages [ 0 ] )
13- return (
14- < LanguageContext . Provider value = { { languages, language, setLanguage } } >
15- < MainSection />
16- </ LanguageContext . Provider >
17- )
18- }
19-
20- function MainSection ( ) {
11+ const MainSection = ( ) => {
2112 const { languages, language, setLanguage } = useContext ( LanguageContext )
2213 const currentIndex = languages . indexOf ( language )
23- const toggleLanguage = ( ) => {
24- if ( currentIndex === languages . length - 1 ) {
25- setLanguage ( languages [ 0 ] )
26- } else {
27- setLanguage ( languages [ currentIndex + 1 ] )
28- }
29- }
14+ const toggleLanguage = ( ) =>
15+ currentIndex === languages . length - 1
16+ ? setLanguage ( languages [ 0 ] )
17+ : setLanguage ( languages [ currentIndex + 1 ] )
18+
3019 return (
3120 < div >
3221 < p id = "favoriteLanguage" > { `Favorite programming language: ${ language } ` } </ p >
@@ -37,4 +26,14 @@ function MainSection() {
3726 )
3827}
3928
40- ReactDOM . render ( < App /> , document . getElementById ( "root" ) )
29+ const App = ( ) => {
30+ const [ language , setLanguage ] = useState ( languages [ 0 ] )
31+ return (
32+ < LanguageContext . Provider value = { { languages, language, setLanguage } } >
33+ < MainSection />
34+ </ LanguageContext . Provider >
35+ )
36+ }
37+
38+ const root = createRoot ( document . getElementById ( "root" ) )
39+ root . render ( < App /> )
0 commit comments