Router
createBrowserRouter()
BrowserRouterλ₯Ό μμ±νλ ν¨μλ‘, v6μμ μλ‘κ² μΆκ°λ λΌμ°ν μ€κ³ λ°©λ²
ν΄λΉ λΌμ°ν μ€κ³λ°©μμ μ¬μ©νλ©΄ v6.4μ μΆκ°λ Data APIsλ₯Ό μ¬μ©ν μ μλ€.
Data APIsλ?
λΌμ°ν°κ° λ λλ§νλ μ»΄ν¬λνΈμ λ°μ΄ν°λ₯Ό μ λ¬νλ κΈ°λ₯ λ±, λ°μ΄ν° λΆλ¬μ€κΈ°μ κ΄λ ¨λ μλ‘μ΄ κΈ°λ₯λ€μ΄ λκ±° μΆκ° λμλ€.
routes β λΌμ°νΈ κ°μ²΄ λ°°μ΄
basename β μ±μ κΈ°λ³Έ μ΄λ¦, '/app' μ΄λΌκ³ μ€μ μ '/'λ '/app'μ κ°λ¦¬ν¨λ€.
Routes.tsx
ν μ€νΈ νκ²½μμλ λΌμ°νΈ μ λ³΄κ° νμνκΈ° λλ¬Έμ λΌμ°νΈ κ°μ²΄ λ°°μ΄μ λ³λμ λͺ¨λλ‘ λΆλ¦¬ν΄μ κ΄λ¦¬
routes.tsx
routes.tsx
createRoutesFromElements()
React Element λ°°μ΄μ λΌμ°νΈ κ°μ²΄ λ°°μ΄λ‘ λ³ννλ ν¨μ
createBrowserRouter()λ₯Ό μ¬μ©ν λ μ΄μ μ μ¬μ©λλ JSX ννλ‘ λΌμ°ν°λ₯Ό ꡬμ±ν μ μλ€.
Usage
createMemoryRouter()
Test νκ²½μμ createBrowserRouter λμ
createMemoryRouter
λ₯Ό μ¬μ©νλ€.
initialEntries β μ΄κΈ° μνΈλ¦¬ λͺ©λ‘ μ€μ , μ¦ ν μ€νΈν νμ΄μ§μ 첫 λ λλ§ κ²½λ‘ μ€μ
λ°°μ΄μΈ μ΄μ λ λΈλΌμ°μ νμ€ν 리 μ€νκ³Ό λμΌ, (λ€λ‘κ°κΈ°, μμΌλ‘κ°κΈ° ν μ€νΈλ₯Ό νκΈ° μν¨)
initialIndex β μ΄κΈ° μνΈλ¦¬ λͺ©λ‘[λ°°μ΄] μ€ μΈλ±μ€λ₯Ό ν΅ν΄ κ²½λ‘λ₯Ό μ ν
ν΄λΉ ν¨μλ μ¬μ¬μ©μ±μ λνκΈ° μν΄ ν¨μλ‘ μΆμΆνμ.
MemoryRouter VS createMemoryRouter()
λ λ°©λ² λͺ¨λ ν μ€νΈ νκ²½μμ λΌμ°ν μ ꡬννλλ° μ¬μ©λλ€.
createMemoryRouter()
λ μ€μ λ‘ μ¬μ©λλ μ 체 λΌμ°ν
μ 보λ₯Ό κ·Έλλ‘ κ°μ Έμμ ꡬννκΈ° λλ¬Έμ μ 체μ μΈ λΌμ°ν
μνΈμμ©μ ν
μ€νΈν λ μ ν©ν κ² κ°λ€.
λ°λ©΄ MemoryRouter
λ λΌμ°νΈλ₯Ό μ£Όμ
λ°λ μμΌλ‘ μ¬μ©νκΈ° λλ¬Έμ 컀μ€ν
νκΈ° μ½κ³ , μ’ λ μ μ°ν ν
μ€νΈλ₯Ό μμ±ν μ μμ΄μ νΉμ λΌμ°ν
μλ리μ€λ₯Ό ν
μ€νΈν λ μ ν©ν κ² κ°λ€.
Last updated