My Home page isn't rendering anything. I've checked Home.js and I can't find what could be the issue. In the console this is the error I get:
Home.js:13 Uncaught TypeError: Cannot read properties of undefined (reading 'name')
App.js:
import React, { useState } from 'react'
import Navigation from './Navigation'
import ThemeContext from './ThemeContext'
import UserContext from './UserContext'
import Home from './Home'
function App() {
let [theme, setTheme] = useState({
variant: 'dark',
toggleTheme: toggleTheme
})
let [user, setUser] = useState({
name: "Alyssa"
})
function toggleTheme() {
setTheme(theme => (
{
...theme,
variant: theme.variant === 'dark' ? 'light' : 'dark',
}
))
}
return (
<>
<ThemeContext.Provider value={theme}>
<Navigation />
</ThemeContext.Provider>
<ThemeContext.Provider value={theme}>
<Home />
</ThemeContext.Provider>
</>
)
}
export default App
Home.js:
import Card from 'react-bootstrap/Card'
import Button from 'react-bootstrap/Button'
import Alert from 'react-bootstrap/Alert'
import UserContext from './UserContext'
import { useContext } from 'react'
function Home() {
let user = useContext(UserContext)
return (
<>
<UserContext.Consumer>
<Alert variant="success">Welcome back, {user.name}!</Alert>
<Card className="text-center col-md-10 mx-auto my-3">
<Card.Header>Featured</Card.Header>
<Card.Body>
<Card.Title>This is Our Featured Item</Card.Title>
<Card.Text>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</Card.Text>
<Button variant="primary">Click Here</Button>
</Card.Body>
</Card>
</UserContext.Consumer>
</>
)
}
export default Home