π©π»π» Today I Learned π
β¨ Redux – Middleware vs Context API
- λ―Έλ€μ¨μ΄
Redux μλ λ―Έλ€μ¨μ΄(Middleware)λΌλ κ°λ μ΄ μ‘΄μ¬ν©λλ€. 리λμ€λ‘ μν κ΄λ¦¬λ₯Ό ν λμλ μ°λ¦¬κ° [userReducer] λ₯Ό μ¬μ©ν΄λ³Ό λ μ νλ κ°λ μΈ reducer ν¨μλ₯Ό μ¬μ©ν©λλ€. 리λμ€μ λ―Έλ€μ¨μ΄λ₯Ό μ¬μ©νλ©΄ μ‘μ κ°μ²΄κ° 리λμμμ μ²λ¦¬λκΈ° μ μ μ°λ¦¬κ° μνλ μμ λ€μ μν ν μ μμ΅λλ€. μλ₯Ό λ€μλ©΄..
-νΉμ 쑰건μ λ°λΌ μ‘μ μ΄ λ¬΄μλκ² λ§λ€ μ μμ΅λλ€.
-μ‘μ μ μ½μμ μΆλ ₯νκ±°λ, μλ²μͺ½μ λ‘κΉ μ ν μ μμ΅λλ€.
-μ‘μ μ΄ λμ€ν¨μΉ λμ λ μ΄λ₯Ό μμ ν΄μ 리λμμκ² μ λ¬λλλ‘ ν μ μμ΅λλ€.
-νΉμ μ‘μ μ΄ λ°μνμ λ μ΄μ κΈ°λ°νμ¬ λ€λ₯Έ μ‘μ μ΄ λ°μλλλ‘ ν μ μμ΅λλ€.
-νΉμ μ‘μ μ΄ λ°μνμ λ νΉμ μλ°μ€ν¬λ¦½νΈ ν¨μλ₯Ό μ€νμν¬ μ μμ΅λλ€.
-λ―Έλ€μ¨μ΄λ μ£Όλ‘ λΉλκΈ° μμ μ μ²λ¦¬ ν λ λ§μ΄ μ¬μ©λ©λλ€.
useReducer Hook μμλ μΈλΆ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νλ©΄ λ―Έλ€μ¨μ΄λ₯Ό μ¬μ© ν μλ μμ΅λλ€. λ€λ§, μμ£Ό μ¬μ©λλ λ°©μμ μλλλ€.
- μ μ©ν ν¨μμ, Hooks μ°λ¦¬κ° μ΄μ μ Context API μ useReducer λ₯Ό μ¬μ© ν λμλ Context λ μλ‘ λ§λ€κ³ , Context μ Provider μ€μ λ νκ³ κ° Context λ₯Ό νΈνκ² μ¬μ©νκΈ° μν΄ μ μ© μ»€μ€ν Hook μ λ°λ‘ λ§λ€μ΄μ μ¬μ©νκΈ°λ νλλ°μ, 리λμ€μμλ μ΄μ λΉμ·ν μμ μ νΈλ¦¬νκ² ν΄μ€ μ μλ μ¬λ¬ κΈ°λ₯λ€μ΄ μ‘΄μ¬ν©λλ€.
- Connect ν¨μλ₯Ό μ¬μ©νλ©΄ 리λμ€μ μν λλ μ‘μ
μμ± ν¨μλ₯Ό μ»΄ν¬λνΈμ props λ‘ λ°μμ¬ μ μμΌλ©°λ©°, useSelector, useDispatch, useStore μ κ°μ Hooksλ₯Ό μ¬μ©νλ©΄ μμ½κ² μνλ₯Ό μ‘°ννκ±°λ μ‘μ
μ λμ€ν¨μΉ ν μλ μμ£ .
Connect ν¨μμ useSelector ν¨μμλ λ΄λΆμ μΌλ‘ μ΅μ νκ° μ μ΄λ£¨μ΄μ Έ μμ΄μ μ€μ μνκ° λ°λ λλ§ μ»΄ν¬λνΈκ° 리λ λλ§λ©λλ€. λ°λ©΄μ Context APIλ₯Ό μ¬μ©ν λμλ κ·Έλ¬ν μ΅μ νκ° μλμΌλ‘ μ΄λ£¨μ΄μ Έμμ§ μκΈ° λλ¬Έμ Context κ° μ§λκ³ μλ μνκ° λ°λλ©΄ ν΄λΉ Context μ Provider λ΄λΆ μ»΄ν¬λνΈλ€μ΄ λͺ¨λ 리λ λλ§ λμ§μ. - νλμ 컀λ€λ μν Context API λ₯Ό μ¬μ©ν΄μ κΈλ‘λ² μνλ₯Ό κ΄λ¦¬ ν λμλ μΌλ°μ μΌλ‘ κΈ°λ₯λ³λ‘ Contextλ₯Ό λ§λ€μ΄μ μ¬μ©νλ κ²μ΄ μΌλ°μ μ
λλ€ (λ¬Όλ‘ κΌ κ·Έλ κ² ν νμλ μμ΅λλ€). λ°λ©΄ 리λμ€μμλ λͺ¨λ κΈλ‘λ² μνλ₯Ό νλμ 컀λ€λ μν κ°μ²΄μ λ£μ΄μ μ¬μ©νλ κ²μ΄ νμμ
λλ€. λλ¬Έμ λ§€λ² Contextλ₯Ό μλ‘ λ§λλ μκ³ λ‘μμ λ μ μμ΅λλ€.
π νκ³
μ§λ μ£Όμ λΉλνλ ox ν΄μ¦λ₯Ό μ΄μ νμ΄μ΄λ² μ΄μ€μ λ°μ΄ν°λ₯Ό μ μ₯ν΄λκ³ λ¦¬λμ€λ₯Ό μ΄μ©ν΄μ κ°μ Έμ€λ κ²μ νλλ°, μμΈμ§ λͺ¨λ₯΄κ² μ§λ§ κ³μν΄μ μ€λ₯λ§ λ¬λ€. ν루 μ’ μΌ λΉ¨κ° νλ©΄λ§ λ°λΌλ³΄κ³ μμλ€. π κ²¨μ° κ²¨μ° λ°©ν₯μ±μ μ°Ύμμ ν΄κ²°μ νκ³ , λ°°ν¬κΉμ§ μλ£νλ€! νλ£¨μ’ μΌ λΉ¨κ° μ€λ₯λ§ λ³΄κ³ μμλ λ΅λ΅ν΄μ λ―ΈμΉ λ Έλ¦ γ μ€λ ν루 μ’ μΌ λ§€λ¬λ €μ νμ΄λ΄μ κΈ°μκΈ°λνμ§λ§ 리λμ€μ νμ΄μ΄λ² μ΄μ€μ μ°κ²°μ μ λλ‘ μ΄ν΄νκ±΄μ§ μ€μ€λ‘κ° μμ¬μ΄ λ€μλ€. λ무 λ§μ μν°λ¦¬ μ½λλ₯Ό μ¨μ γ γ γ γ μ λλ‘ νμ΄λμμλ ν·κ°λ¦¬λ μ§κ²½μ μ΄λ₯΄λ λ€. γ γ γ λ΄μΌλΆν° 본격μ μΌλ‘ μμ μ λ€μ΄κ° κ°μΈκ³Όμ λ₯Ό νλ©΄ νμ€νκ² κ°λ μ μ‘μλΌ μ μκΈ°λ₯Ό!