
react μ€ν°λμμ 리μ‘νΈλ₯Ό λ€λ£¨λ κΈ°μ μ΄λΌλ μ± μ μ μ νκ³ μ΄ μ± μ μ½κ³ λ°°μ΄ κ²μ λ°νμΌλ‘ μμ±λμλ€.
useEffectλ₯Ό ν΅ν΄ μ»΄ν¬λνΈκ° Mount (μ΄κΈ° λ λλ§), Unmount (DOMμμ μ κ±°), Updateλμμ λμ νΉμ μμ
μ μ€μ ν μ μλ€.useEffectλ λ κ°μ μΈμλ₯Ό κ°λλ€.cleanup ν¨μ)λ₯Ό 리ν΄ν μ μμ.dependencies (deps))deps λ°°μ΄ μμ μλ κ°λ€μ΄ λ³ν λλ§ μ²« λ²μ§Έ μΈμλ‘ μ λ¬λ°μ ν¨μκ° μ€νλλ€. (μ΄κΈ° λ λλ§μ΄ μλ£λ νμλ μ€νλ¨.)useEffectμμ μ€μ ν ν¨μλ₯Ό μ²μ λ λλ§λ μ΄νμλ§ μ€ννκ³ μΆμ λ λ λ²μ§Έ μΈμ(deps)λ‘ λΉ λ°°μ΄([])μ λ£μ΄μ£Όλ©΄ λλ€.componentDidMountμ²λΌ μ€νdeps)λ‘ λ°°μ΄ ννλ‘ λ£μ΄μ£Όλ©΄ λλ€.componentDidUpdateμ²λΌ μ€ν (μ΄κΈ° λ λλ§λ λλ μ€νλ¨.)useEffectμμ ν¨μλ₯Ό 리ν΄ν μ μλλ° λ°νλ ν¨μλ₯Ό cleanup ν¨μλΌκ³ νλ€.UnmoutλκΈ° μ§μ μ΄λ UpdateλκΈ° μ§μ μ μνν μμ
μ μ€μ ν μ μλ€.deps μΈμμ λΉ λ°°μ΄μ μ λ¬νλ©΄ cleanup ν¨μλ μ»΄ν¬λνΈκ° UnmountλκΈ° μ§μ μ μ€νλλ€.deps λ°°μ΄μ κ°μ΄ μλ€λ©΄ λ°°μ΄ μμ μλ κ°μ΄ μ
λ°μ΄νΈλκΈ° μ§μ μλ νΈμΆλλ€.depsμ [] (λΉ λ°°μ΄)μ λ£μ λ, life cycle methodμ€ componentDidmountμ²λΌ μ€νdepsμ λ£μ νλΌλ―Έν° κ°μ΄ μ
λ°μ΄νΈ λμμ λ, componentDidUpdateμ²λΌ μ€ν. (μ΄κΈ° λ λλ§λ λλ 첫λ²μ§Έ μΈμμ ν¨μκ° μ€νλ¨.)useEffectμμ λ°νλ ν¨μλ clean up ν¨μλ‘, componentWillUnmountμ²λΌ μ€ννκ±°λ μ
λ°μ΄νΈ μ§μ μ νΈμΆλλ€.deps μΈμκ° μλ΅λμλ€λ©΄, λ λλ§λ λλ§λ€ 첫λ²μ§Έ μΈμλ‘ λ°μ ν¨μμ cleanup ν¨μκ° νΈμΆλ¨.