useEffect
useEffect
λ μ»΄ν¬λνΈλ₯Ό μΈλΆ μμ€ν
κ³Ό λκΈ°νν μ μλ React ν
μ
λλ€.useEffect(setup, dependencies?)
맀κ°λ³μ
setup
- Effect λ‘μ§μ΄ ν¬ν¨λ ν¨μμ λλ€. μ μ ν¨μλ μ νμ μΌλ‘ ν΄λ¦°μ ν¨μλ₯Ό λ°νν μλ μμ΅λλ€.
- μμ‘΄μ±μ΄ λ³κ²½λμ΄ λ€μ λ λλ§ν λλ§λ€ Reactλ λ¨Όμ μ΄μ κ°μΌλ‘ ν΄λ¦°μ ν¨μλ₯Ό μ€νν λ€μ, μ κ°μΌλ‘ μ μ ν¨μλ₯Ό μ€νν©λλ€.
- optional
dependencies
: setup μ½λ λ΄μμ μ°Έμ‘°λ λͺ¨λ λ°μν κ°μ λͺ©λ‘μ λλ€. λ°μν κ°μ props, state, μ»΄ν¬λνΈ λ³Έλ¬Έ λ΄λΆμμ μ§μ μ μΈν λͺ¨λ λ³μμ ν¨μλ₯Ό ν¬ν¨ν©λλ€.
useEffectμλ λ κ°μ μΈμλ₯Ό μ λ¬ν΄μΌ ν©λλ€.
- ν΄λΉ μμ€ν μ μ°κ²°νλ μ μ μ½λκ° ν¬ν¨λ μ μ ν¨μ
- ν΄λΉ ν¨μ λ΄λΆμμ μ¬μ©λλ μ»΄ν¬λνΈμ λͺ¨λ κ°μ ν¬ν¨ν μμ‘΄μ± λͺ©λ‘
Reactλ νμν λλ§λ€ μ μ λ° ν΄λ¦°μ ν¨μλ₯Ό νΈμΆνλλ°, μ΄λ μ¬λ¬ λ² λ°μν μ μμ΅λλ€.
- μ»΄ν¬λνΈκ° νμ΄μ§μ μΆκ°λ λ(λ§μ΄νΈ)λ§λ€ μ μ μ½λλ₯Ό μ€νν©λλ€.
- μμ‘΄μ±μ΄ λ³κ²½λ μ»΄ν¬λνΈλ₯Ό λ€μ λ λλ§ν λλ§λ€.
- μ»΄ν¬λνΈκ° νμ΄μ§μ μ κ±°λλ©΄ (λ§μ΄νΈ ν΄μ ) λ§μ§λ§μΌλ‘ ν λ² ν΄λ¦°μ μ½λλ₯Ό μ€νν©λλ€.
Effectμμ λ°μ΄ν° νμΉνλ κ²μ λ체ν μ’μ λμμ 무μμΈκ°μ?
Effect λ΄λΆμfetch
λ₯Ό μμ±νλκ²μ λ°μ΄ν°λ₯Ό νμΉνλ μΈκΈ°μλ λ°©λ²μΌλ‘, μμ ν client-side μ±μμ νΉν κ·Έλ μ΅λλ€. νμ§λ§ μ΄λ λ§€μ° μλμ μΈ μ κ·Ό λ°©μμ΄λ©° μλΉν λ¨μ μ΄ μμ΅λλ€.
- Effectλ μλ²μμ μ€νλμ§ μλλ€.
- Effectμμ μ§μ νμΉνλ©΄ βλ€νΈμν¬ μν°νβμ λ§λ€κΈ° μ½λ€.
- Effectμμ μ§μ νμΉνλ€λκ²μ μΌλ°μ μΌλ‘ λ°μ΄ν°λ₯Ό 미리 λ‘λνκ±°λ μΊμνμ§ μλλ€λ κ²μ μλ―Ένλ€.
useLayoutEffect
useLayoutEffect
λ λΈλΌμ°μ κ° νλ©΄μ λ€μ μ±μ°κΈ° μ μ μ€νλλ λ²μ μ useEffect
μ
λλ€.useLayoutEffect(setup, dependencies?)
맀κ°λ³μ
- setup
- Effectμ λ‘μ§μ΄ ν¬ν¨λ ν¨μμ λλ€.
- λ³κ²½λ μμ‘΄μ±μΌλ‘ λ€μ λ λλ§ν λλ§λ€ Reactλ (ν΄λ¦°μ ν¨μλ₯Ό μ μν κ²½μ°) λ¨Όμ μ΄μ κ°μΌλ‘ ν΄λ¦°μ ν¨μλ₯Ό μ€νν λ€μ, μ κ°μΌλ‘ μ μ ν¨μλ₯Ό μ€νν©λλ€.
- optional dependencies
setup
μ½λ λ΄μμ μ°Έμ‘°λ λͺ¨λ λ°μν κ°μ λͺ©λ‘μ λλ€.- λ°μν κ°μλ props, state, μ»΄ν¬λνΈ λ³Έλ¬Έ λ΄λΆμμ μ§μ μ μΈλ λͺ¨λ λ³μμ ν¨μκ° ν¬ν¨λ©λλ€.
useInsertionEffect
Β
Β
Β