μ»΄ν¬λνΈμ Lifecycle
μ»΄ν¬λνΈκ° μ€νλκ³ μ’ λ£λλ κ³Όμ μ νΉμ μμ λ³λ‘ λλμ΄ λ κ²
![](https://blog.kakaocdn.net/dn/dzAguH/btrGPotkCaC/YurHGGAK1A2N35x5vuy74K/img.png)
μ»΄ν¬λνΈλ
1. μμ±μ΄ λ μλ μκ³ (mount)
2. μ¬λ λλ§μ΄ λ μλ μκ³ (update)
3. μμ κ° λ μλ μμ΅λλ€. (unmount)
Lifecycle Hook
- ν¨μν μ»΄ν¬λνΈμμλ ν΄λμ€ν μ»΄ν¬λνΈμ κΈ°λ₯(React State, Lifecycle Method)μ μ¬μ©ν μ μλλ‘ λ§λ€μ΄μ£Όλ κΈ°λ₯μ΄λ€.
- Hookμ λͺ¨λ useλ‘ μμνλ€λ νΉμ§μ΄ μλ€.
- μ¬λ¬ μ»΄ν¬λνΈμμ μ¬μ¬μ© λ μ μλ λ‘μ§μ΄λΌλ©΄ μ¬μ©μκ° μ μν΄μ λ§λ€ μ μλ€. => custom hooks
1) ν΄λμ€ν μ»΄ν¬λνΈμ Lifecycle Hook
class Detail2 extends React.Component {
componentDidMount(){
//Detail2 μ»΄ν¬λνΈκ° λ‘λλκ³ λμ μ€νν μ½λ
}
componentDidUpdate(){
//Detail2 μ»΄ν¬λνΈκ° μ
λ°μ΄νΈ λκ³ λμ μ€νν μ½λ
}
componentWillUnmount(){
//Detail2 μ»΄ν¬λνΈκ° μμ λκΈ°μ μ μ€νν μ½λ
}
}
2) ν¨μν μ»΄ν¬λνΈμ Lifecycle Hook
- useEffect() : mount, updateμ μ½λλ₯Ό μ€νν΄μ£Όλ ν¨μμ΄λ€.
- useEffect λ°κΉ₯μ μ μ΄λ λκ°μ΄ μ»΄ν¬λνΈ mount & updateμ μ€νλκΈ΄ νμ§λ§, useEffect μμ μ μ μ½λλ html λ λλ§ μ΄νμ λμνλ€.
=> useEffectμμλ μ΄λ €μ΄ μ°μ°μ΄λ, μλ²μμ λ°μ΄ν°λ₯Ό κ°μ Έμ€λ μμ , νμ΄λ¨Έ μ₯μ°©ν λ μ¬μ©νλ©΄ μ’λ€.
import {useState, useEffect} from 'react';
function Detail(){
useEffect(()=>{
//μ¬κΈ°μ μ μ½λλ μ»΄ν¬λνΈ λ‘λ & μ
λ°μ΄νΈ λ§λ€ μ€νλ¨
console.log('μλ
')
});
return (μλ΅)
}
- [μ€ν쑰건]μ λ°λΌ μ€μ νλ©΄ κ·Έ μ€νμ‘°κ±΄μ΄ λ‘λ&μ λ°μ΄νΈ λ λλ§λ€ useEffectκ° μ€νλλ€.
useEffect(()=>{
console.log('μλ
')
}, [μ€ν쑰건]);
- useEffect λμ μ μ μ€ννλ return () => {}
useEffect(()=>{
κ·Έ λ€μ μ€νλ¨
return ()=>{
μ¬κΈ°μλκ² λ¨Όμ μ€νλ¨
}
}, [count])
'π»WEB FrontEnd > νλ μμν¬ React' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Redux (1) : props μμ΄ state 곡μ κ°λ₯ (0) | 2022.07.13 |
---|---|
Ajaxλ‘ μλ²μ ν΅μ (0) | 2022.07.08 |
detail νμ΄μ§ λ§λ€κΈ° (0) | 2022.07.08 |
λΌμ°ν (μ ν , navigate, nested routes, outlet) (0) | 2022.07.07 |
import, export (0) | 2022.07.07 |