HOC(κ³ μ°¨ μ»΄ν¬λνΈ)λ μ»΄ν¬λνΈλ₯Ό λ°κ³ μΆκ°μ μΈ λ°μ΄ν°λ κΈ°λ₯μ΄ μΆκ°λ μ»΄ν¬λνΈλ₯Ό λ°ννλ ν¨ν΄μ λλ€. React μμ HOC κ° μ°μ΄λ μ΄μ λ μμλ³΄λ€ ν©μ±μ μ νΈνκΈ° λλ¬Έμ λλ€.
HOC λ μ»΄ν¬λνΈμ κΈ°λ₯μ μ¦κ°μν€κ±°λ μμ νμ¬ μ»΄ν¬λνΈ μ¬μ¬μ©κ³Ό μ½λ 곡μ λ₯Ό μ©μ΄νκ² νλ λ©μ»€λμ¦μ μ 곡νμ§λ§, HOC μΌλ‘ μ²λ¦¬ν μ μλ λΆλΆμ λλΆλΆ Hook μΌλ‘ λμ²΄κ° κ°λ₯νλ©°, Hook μ΄ λ λμ κ°λ°μ κ²½νμ μ 곡νκ³ μ½λ μ¬μ¬μ©κ³Ό ν μ€νΈλ₯Ό νκΈ° μ¬μΈ λκ° λ§μ΅λλ€.
HOC ν¨ν΄μ μ¬μ©νλ©΄ μλμ κ°μ΄ μ»΄ν¬λνΈμ νΈλ¦¬κ° κΉμ΄μ§λ κ²½ν₯μ΄ μμ§λ§, Hook μ μ¬μ©νλ€λ©΄ μ»΄ν¬λνΈλ₯Ό λνν νμκ° μ¬λΌμ§λλ€.
<withAuth>
<withLayout>
<withLogging>
<Component />
</withLogging>
</withLayout>
</withAuth>- μ λ°μ μΌλ‘ λμΌνλ©° 컀μ€ν°λ§μ΄μ§ λΆκ°λ₯ν λμμ΄ μ¬λ¬ μ»΄ν¬λνΈμ νμν κ²½μ°
- μ»΄ν¬λνΈκ° 컀μ€ν λ‘μ§ μΆκ° μμ΄ λ¨λ μΌλ‘ λμν μ μμ΄μΌ νλ κ²½μ°
- κ³΅ν΅ κΈ°λ₯μ΄ κ° μ»΄ν¬λνΈμμ μ°μ΄κΈ° μ μ 컀μ€ν°λ§μ΄μ§ λμ΄μΌ νλ κ²½μ°
- κ³΅ν΅ κΈ°λ₯μ΄ μ± μ λ°μ μΌλ‘ μ°μ΄λ κ²μ΄ μλ λͺκ°μ μ»΄ν¬λνΈμμ μꡬλλ κ²½μ°
- ν΄λΉ κΈ°λ₯μ΄ κΈ°λ₯μ μ°λ μ»΄ν¬λνΈμκ² μ¬λ¬ νλ‘νΌν°λ₯Ό μ λ¬ν΄μΌ νλ κ²½μ°
- ν κ³³μ ꡬνν λ‘μ§λ€μ μ¬λ¬ μ»΄ν¬λνΈμμ μ¬μ¬μ©ν μ μμ΅λλ€.
- λμΌ κ΅¬νμ μ§μ ꡬννλ©° λ²κ·Έλ₯Ό λ§λ€μ΄ λΌ νλ₯ μ μ€μΌ μ μμ΅λλ€.
- λ‘μ§μ ν κ³³μμ κ΄λ¦¬νμ¬ κ΄μ¬μ¬μ λΆλ¦¬λ μ μ©ν μ μμ΅λλ€.
- λ°ννλ μ»΄ν¬λνΈμ μ λ¬νλ props μ μ΄λ¦μ΄ κ²ΉμΉ μ μμ΅λλ€.
- μ΄λ€ HOC κ° μ΄λ€ props μ κ΄λ ¨μ΄ μλμ§ νμ νκΈ°κ° μ΄λ €μ μ±μ λλ²κΉ μ΄λ κ·λͺ¨λ₯Ό ν€μΈ λ λ°©ν΄κ° λ μ μμ΅λλ€.