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 ν¨μ
κ° νΈμΆλ¨.