마지막으로 그동한 작성한 모든 컴포넌트들을 App.js에 합쳐준다.
function App() {
const user = useSelector(selectUser);
const dispatch = useDispatch();
useEffect(()=>{
auth.onAuthStateChanged((userAuth)=>{
if (userAuth) {
// 로그인상태 유지
dispatch(login({
email: userAuth.email,
uid: userAuth.uid,
displayName: userAuth.displayName,
photoUrl: userAuth.photoURL
}))
}else {
// 로그아웃
dispatch(logout());
}
})
},[]);
return (
<div className="app">
//헤더 컴포넌트
<Header />
{!user
//로그인 컴포넌트
? (<Login />)
: (
<div className="app__body">
//사이드바 컴포넌트
<Sidebar />
//피드 컴포넌트
<Feed />
//위젯 컴포넌트
<Widgets />
</div>
) }
</div>
);
}
export default App;
'Projects > React + Firebase 링크드인 클론' 카테고리의 다른 글
#10. 프로젝트를 끝내며 (0) | 2021.06.27 |
---|---|
#8. 위젯 부분 구현 | Widgets.js (0) | 2021.05.31 |
#7. 저장한 글들을 피드에 띄워주기 | Post.js (0) | 2021.05.31 |
#6. 피드와 포스트 입력창 구현 | Feeds, InputOption (0) | 2021.05.31 |
#5. 메인화면 및 사이드바 구현 | Sidebar.js (0) | 2021.05.31 |