μμ© νλ‘κ·Έλ¨μμ νλ "λ©λ΄κ΄λ¦¬"μ κ°λ μ μΉμλ λμ νλ κ²μ΄ λͺ©μ μ΄μμ.
μ¬μ©μ(κ΄λ¦¬μ)λ νλ‘κ·Έλ¨ λ΄μμ λ©λ΄μ κ΄λ ¨λ λ°μ΄ν°λ₯Ό DBμ insert ν μ μκ³ ,
μ΄λ κ² λ§λ€μ΄μ§ Data λ‘ λΌμ°ν μλ μ μ©λκ³ , λ©λ΄λ°μλ μ μ©λλ.. κ·Έλ° ννκ° μ΅μ’ μ΄μμ.
React μλͺ μ£ΌκΈ° νΉμ± μ μ΄λ ΅λ€λ λ΅λ³μ λ°κΈ°λ§ νλ μ°°λ..
μ μλλ©΄ μ΄ λΌμ°ν μμ€ν μ μ 리νκ±°λ μ½κ² λ§λ€μ΄λ³΄μλ λ§μμΌλ‘ μμνκ² λμλ€.
첫 μμ΄λμ΄
λ react-router-dom v5 λ¬Έλ²μΌλ‘ ꡬνν μλμ λͺ¨μ΅
μ무λλ κ°μ₯ μ΅μ λ²μ μ μ¨μΌνλ€λ μκ°λ μμκ³ , μΈμ£Όμ 체μμ λ§λ€μ΄μ€ λ‘μ§μ λ³κ²½μμ΄ μ¬μ©νλ €λ©΄ λΌμ°ν μ props λ₯Ό λκ²¨μ€ μ μμ΄μΌ νλ€. μμ ννλ‘λ μνλ propsλ₯Ό λμ μΌλ‘ λ£μ΄μ€ μλ μκ³ , λμ€μ μ΄λ€ λ²μ μΌλ‘ μΈν μ΄μκ° ν°μ§ μμ ν΄κ²°ν μκ° μλ... κ·Έλ° μν©μ΄μμ.
κ·Έλ₯ μμ μ½λλ REACT μλͺ μ£ΌκΈ°λ‘λ μ°λ¦¬κ° λ§νλ λ©λ΄κ΄λ¦¬ νμμ λμ λΌμ°ν μ΄ "κ°λ₯"νλ€λ κ²μ μ μ¦νλ μ©λμμ λΏ...
μ¬κΈ°μ μμ¬μμ λκΌλν°λΌ 머리 μμμ νΌμ λ‘μ§μ κ·Έλ €λ΄€λ€.
κ³ λ―Ό
json(DBμμ λ°μμ¨ λ°μ΄ν°)μ μλ κ²λ€μ
1. λμ μΌλ‘ import λ°μμμ
2. map λλ €μ λΌμ°ν λ§ μν΄μ£Όλ©΄ λμ§ μμκΉ?
λΌλ κ°λ μ μ μ©νκΈ° μν΄ κ³ λ―Όμ ν΄λ΄€λ€.
λμκ² μ₯λ²½μ 1. λμ μΌλ‘ import νλ κ²μ΄μμΌλ©°...
μ΄κ²μ 2. routing νλ μͺ½μ </> μ ννλ‘ λ¬Έλ²μ λ§κ² μ§μ΄ λ£λ κ²μ΄μλ€...
μ¬μ€μ κ±°μ μ λΆμλ€κ³ 보면 λ¨. λ¬Έλ²μ΄ νλ€λ€ ...
κ·Έλ¦¬κ³ λ¬Έλ² μ΄μ ν΄κ²°μ μν΄ stackoverflow λ₯Ό λ€μ§κΈ° μμνκ³ ..
μλ§μ κ²μκΈ ννμ λμ λΌμ°ν (ν¬λ§·μ κ°κ³ λ°μ΄ν°λ§ λ°λλ..)μ μμμ κ±Έλ¬λ΄λ©°... λ¬Έλ²μ μ°Ύμλ΄μλ€.
κ²°κ³Ό
그리νμ¬ μ±κ³΅ν μλμ μ½λ.
λ§μ½μ Route μ propsλ‘ λ¬΄μΈκ°λ₯Ό λ λ£μ΄μ£Όκ³ μΆλ€κ³ νλ©΄
DBμμ λ°μμ€λ json νμΌμ μΆκ°νκ³
return (<Route key={menuItem.id} path={menuItem.url} element={<Page />} />);
μμ λΆλΆμ props λ₯Ό μ§μ ν΄μ£Όλ©΄ λλ€.
μμ μ½λ 첨λΆλ‘ κ²μκΈμ λλ΄λ³΄λλ‘ νκ² λ€.
μΆν κ°μ μ
json νμΌμ λ°μμμ λ리λ κ²μ΄λ€λ³΄λ,
λ΄κ° μ§μ ν λ³μ κ°μ΄ undefined μΌ λλ μ΄ λΌμ°ν μ΄ λμμ routingμ μ°Ύμ μ μλ€λ μλ¬κ° μ°νλκ³ , λΌμ°ν μ μ νν μ₯μλ‘ ν΄μ£Όκ² λλλ°.. μ΄κ²λ§ κ°μ νλ©΄ μΆ©λΆν 볡λΆν΄μ μ¨λ λ λ§ν μ½λκ° λ κ² κ°λ€.
γ γ γ γ