-
Notifications
You must be signed in to change notification settings - Fork 94
Expand file tree
/
Copy pathApp.js
More file actions
49 lines (45 loc) · 1.28 KB
/
App.js
File metadata and controls
49 lines (45 loc) · 1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import React, { useEffect, useContext } from 'react';
import './App.css';
import { BrowserRouter as Router, Route } from 'react-router-dom';
import Signup from './Pages/Signup';
import Login from './Pages/Login';
import CreatePage from './Pages/Create';
import View from './Pages/ViewPost';
import { AuthContext, FirebaseContext } from './store/Context';
import Post, { PostContext } from './store/PostContext';
import Home from './Pages/Home';
function App() {
const { setUser } = useContext(AuthContext);
const { firebase } = useContext(FirebaseContext);
useEffect(() => {
firebase.auth().onAuthStateChanged((user) => {
setUser(user);
});
}, [firebase, setUser]);
return (
<div>
<Post>
<Router>
<Route exact path="/">
<Home />
</Route>
<Route path="/signup">
<Signup />
</Route>
<Route path="/login">
<Login />
</Route>
<Route path="/create">
<CreatePage />
</Route>
<Route path="/view">
<PostContext.Consumer>
{(postContext) => <View postDetails={postContext.postDetails} />}
</PostContext.Consumer>
</Route>
</Router>
</Post>
</div>
);
}
export default App;