네비게이션(메뉴)를 만들어서 프로필로 가면 로그아웃 버튼이 있게 작성
component에 Navigation.js 생성
react-router-dom의 Link태그를 사용하여 페이지 이동
import React from "react";
import {Link} from "react-router-dom";
const Navigation = () => <nav>
    <ul>
        <li>
            <Link to="/">Home</Link>
        </li>
        <li>
            <Link to="/profile">My Profile</Link>
        </li>
    </ul>
</nav>;
export default Navigation;
Router.js
로그인 되어있으면 네비게이션(메뉴) 출력하도록 코드 추가
<Route> 프로필 path 추가
const AppRouter = ({isLoggedIn}) => {
  return(
    <Router>
      {isLoggedIn && <Navigation />}
      <Routes>
        {isLoggedIn ?
        <>
          <Route exact path="/" element={<Home/>}/>
          <Route exact path="/profile" element={<Profile/>}/>
        </>
        : <Route exact path="/" element={<Auth/>} />}
      </Routes>
    </Router>
)
};
실행하면 다음과 같은 네비게이션이 출력된다

My Profile에 signOut 활용하여 로그아웃가능한 버튼 추가
Profile.js
import { authService } from "fBase";
import React from "react";
const Profile = () => {
    const onLogOutClick = () => authService.signOut();
    return(
        <>
            <button onClick={onLogOutClick}>Log Out</button>
        </>
    )
};
export default Profile;

버튼을 누르면 로그아웃되지만 경로가 profile로 되어있기 때문에 footer만 출력된다. 로그아웃을 하면 Home으로 redirect하는 코드를 추가한다

Profile.js
react-router-dom v6에서는 redirect에 useNavigate를 활용한다
import { authService } from "fBase";
import React from "react";
import { useNavigate } from "react-router-dom";
const Profile = () => {
  const navigate = useNavigate();
  const onLogOutClick = () => {
    authService.signOut();
    navigate("/");
  }
  return(
    <>
      <button onClick={onLogOutClick}>Log Out</button>
    </>
  )
};
export default Profile;


버튼을 클릭하면 다음과 같이 Home으로 redirect 된 것을 확인할 수 있다.