-
Notifications
You must be signed in to change notification settings - Fork 0
/
App.js
50 lines (35 loc) · 1.03 KB
/
App.js
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
50
import './App.css';
import {db, auth} from './firebase.js';
import {useEffect, useState} from 'react';
import Header from './Header';
import Post from './Post'
function App() {
const [user, setUser] = useState();
const [posts, setPosts] = useState([]);
useEffect(()=>{
//validar se o usuário está devidamente locado para conseguir postar
auth.onAuthStateChanged(function(val){
if (val != null){
setUser(val.displayName);
}})
db.collection('posts').orderBy('timestamp','desc').onSnapshot(function(snapshot){
setPosts(snapshot.docs.map(function(document){
return {id:document.id,info:document.data()}
}))
})
},[])
return (
<div className="App">
<Header setUser={setUser} user={user}></Header>
{
posts.map(function(val){
return(
<Post user={user} info={val.info} id={val.id}/>
)
})
}
</div>
);
}
export default App;
//para iniciar a aplicação é preciso abrir o terminal em node