React Router dom์ ์ด์ฉํด์ ํ๋ก์ ํธ๋ฅผ ์งํ ์ค
๋ก๊ทธ์ธ ์ฌ๋ถ์ ๋ฐ๋ผ ๋ณด์ด๋ ๊ฒฝ๋ก๋ฅผ ๋ค๋ฅด๊ฒ ํ ๋ฐฉ๋ฒ์ด ์์๊น!
๊ณ ๋ฏผํ๋ค ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌ ํด๋ด ๋๋ค.
์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ๋ก๊ฐ ์๊ณ ,
1. ๋ก๊ทธ์ธํ์ง ์์ ์ ์ ๋ "/todo" ๊ฒฝ๋ก๋ก ์ด๋ํ ๊ฒฝ์ฐ "/" ๊ฒฝ๋ก๋ก ๋ฆฌ๋ค์ด๋ ํธ ํ๋ค.๋ผ๋ ์กฐ๊ฑด์ด ์๋ ๊ฒฝ์ฐ
์๋์ ๊ฐ์ด utils ํด๋์ PrivateRoutes.jsx ํ์ผ์ ์์ฑํ์ฌ ์๋์ ๊ฐ์ด ์์ฑํด์ค๋๋ค.
Context API๋ฅผ ์ฌ์ฉํด์ ๋ก๊ทธ์ธ ์ฌ๋ถ๋ฅผ ๊ด๋ฆฌํด์คฌ๋๋ฐ,
์ด๋ ๋ก๊ทธ์ธ๋์ง ์์ ๊ฒฝ์ฐ, "/" ๊ฒฝ๋ก๋ก ๋ฆฌ๋ค์ด๋ ํธ ํด์ค๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ก๊ทธ์ธ๋ ๊ฒฝ์ฐ Outlet๋ฅผ ์ฌ์ฉํด์ ์์ ๊ฒฝ๋ก ์์๋ฅผ ๋ ๋๋ง ํด์ค๋๋ค.
๊ทธ๋ฆฌ๊ณ
App ์ปดํฌ๋ํธ์์ Private ๊ฒฝ๋ก์ ๋ผ์ฐํธ์ ์์ฑํ PrivateRoutes๋ฅผ ๋ถ๋ชจ ์์๋ก ์ค๋๋ค.
2. ๋ก๊ทธ์ธ ํ ์ฌ์ฉ์๋ "/login" , "/join" ๊ฒฝ๋ก๋ก ์ด๋ํ ๊ฒฝ์ฐ "/todo"๊ฒฝ๋ก๋ก ๋ฆฌ๋ค์ด๋ ํธ ํ๋ค. ๋ ์กฐ๊ฑด์ผ ๊ฒฝ์ฐ
utils ํด๋์ PublicRoutes.jsx ํ์ผ์ ์์ฑํ์ฌ ์๋์ ๊ฐ์ด ์์ฑํด์ค๋๋ค.
์ฌ๊ธฐ์๋ ์์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ก๊ทธ์ธ๋ ๊ฒฝ์ฐ,
"/todo" ๊ฒฝ๋ก๋ก ๋ฆฌ๋ค์ด๋ ํธ ํด์ฃผ๊ณ
์๋ ๊ฒฝ์ฐ ์์ ๊ฒฝ๋ก ์์๋ฅผ ๋ ๋๋ง ํด์ค๋๋ค. ("/login", "/join")
๊ทธ๋ฆฌ๊ณ
App ์ปดํฌ๋ํธ์์ Private ๊ฒฝ๋ก์ ๋ผ์ฐํธ์ ์์ฑํ PrivateRoutes๋ฅผ ๋ถ๋ชจ ์์๋ก ์ค๋๋ค.
๋!
์ฒ์์๋ ๊ฐ ๊ฒฝ๋ก๋ง๋ค ํ์ด์ง๊ฐ ๋ง์ดํธ ๋ ๋ ๋ก๊ทธ์ธ ์ฌ๋ถ๋ฅผ ํ๋จํ์ฌ ๊ฒฝ๋ก๋ฅผ ๋ณ๊ฒฝํด์ฃผ์๋๋ฐ,
ํ๋ก์ ํธ ๊ท๋ชจ๋ ์ปค์ง ๊ฒฝ์ฐ๋ ์๊ฐํ๋ค๋ฉด์ด ๋ฐฉ๋ฒ์ด ๋ ๊น๋ํ ๊ฑฐ ๊ฐ์ต๋๋ค.

์ฐธ๊ณ The New Way To Create Protected Routes With React Router V6
'๐ Study Note > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
react ์์ redux ์ฌ์ฉํด๋ณด๊ธฐ! (1) (0) | 2022.09.17 |
---|---|
Netlify ๋ฐฐํฌ ์๋ฌ ํด๊ฒฐ - React Router Dom (0) | 2022.09.02 |
Toast ui editor - Failed to parse source map (0) | 2022.08.30 |
Toast ui editor ๋ฆฌ์กํธ ๋ฒ์ ์๋ฌ (0) | 2022.08.30 |
React์์ .env ํ๊ฒฝ๋ณ์ ์ฌ์ฉํ๊ธฐ (0) | 2022.06.10 |