๐ฉ๊ถํ์ด ์๋ ์ ์ ๋ง ๊ฐ ์ ์๋ ๊ฒฝ๋ก๋ฅผ ๋ง๋ ๋ค.
๊ถํ์ด ์๋ ์ ์ ์๊ฒ๋ ๋ค๋ฅธ ๊ฒฝ๋ก๋ก ํ์ด์ค๋ค.
โ๏ธ<PrivateRoute /> Component ์ด์ฉํ๊ธฐ
function App() {
const [auth, setAuth] = useState(false);
const PrivateRoute = () => {
return auth ? (
<User auth={auth} setAuth={setAuth} />
) : (
<Navigate to="/login" />
);
};
โ hook์ด ์๋ component์ด๊ธฐ ๋๋ฌธ์ ์ด๋ฆ์ ๋ณ๊ฒฝ ๊ฐ
โ auth๊ฐ true(๊ถํ์ด ์๋ค๋ฉด), <User />ํ์ด์ง๋ก,
auth๊ฐ false(๊ถํ์ด ์๋ค๋ฉด), <Login />ํ์ด์ง๋ก ์ด๋ํ๋ค.
โ๏ธ<PrivateRoute />์ ์ฌ์ฉ๋ฒ
<Route path="/user" element={<PrivateRoute />} />
โ ๋จผ์ <User />ํ์ด์ง๋ก ๊ฒฝ๋ก๋ฅผ ์ค์ ํด๋์๋ค๊ฐ
PrivateRoute ์ปดํฌ๋ํธ์์ auth์ true/false๋ฅผ ํ์ธ ํ, ๊ทธ๋๋ก ๊ฒฝ๋ก๋ฅผ ๋ณด์ฌ์ค์ง ์ค์ ํด์ค <Login />ํ์ด์ง๋ก ํ์์ง ๊ฒฐ์ ํ๋ค.