μλͺ μ£ΌκΈ° (Life Cycle)
리μνΈμ λΌμ΄ν μ¬μ΄ν΄μ λ°λ₯Έ λ©μλλ₯Ό μ μνλ€.
μλ λ κ·Έλ¦Όμ νμ©νμ¬ νμΈν΄ 보λκ²μ΄ μ’λ€.
constructor
- μμ±μ λ©μλ
- μ»΄ν¬λνΈκ° μ²μ λ§λ€μ΄μ§λ μ€νλλ€.
- κΈ°λ³Έ
state
λ₯Ό μ μν μ μλ€.
constructor(props) {
super(props);
}
componentWillMount
- μ»΄ν¬λνΈκ° DOM μμ λ§λ€μ΄μ§κΈ° μ μ μ€νλλ€.
componentWillMount() {
/* statement */
}
render
- μ»΄ν¬λνΈ λ λλ§μ λ΄λΉνλ€.
render() {
return (
<b>Hello World</b>
);
}
componentDidMount
- μ»΄ν¬λνΈκ° λ§λ€μ΄μ§κ³ 첫 λ λλ§μ λ€ λ§μΉν μ€νλλ λ©μλ
- μΈλΆ JavaScript Framework λ₯Ό μ°λνκ±°λ setTimeout, setInterval λ° AJAX μ²λ¦¬ λ±μ μμ±νλ€.
componentDidMount() {
/* statement */
}
componentWillReceiveProps
- μ»΄ν¬λνΈκ°
prop
λ₯Ό μλ‘ λ°μμ λ μ€νλ©λλ€. prop
μ λ°λΌstate
λ₯Ό μ λ°μ΄νΈ ν΄μΌ ν λ μ¬μ©νλ©΄ μ μ©νλ€.- μ΄ μμμ
this.setState()
λ₯Ό ν΄λ μΆκ°μ μΌλ‘ λ λλ§νμ§ μλλ€.
componentWillReceiveProps(nextProps) {
console.log(JSON.stringify(nextProps));
}
shouldComponentUpdate
prop
νΉμstate
κ° λ³κ²½λμμ λ, 리 λλλ§ μ¬λΆλ₯Ό κ²°μ μ§λ λ©μλ- 리 λλλ§ μ¬λΆλ₯Ό
Boolean
νμ μΌλ‘ λ°ν
shouldComponentUpdate(nextProps, nextState) {
console.log(JSON.stringify(nextProps));
console.log(JSON.stringify(nextState));
return nextProps.id === this.props.id;
}
componentWillUpdate
- μ»΄ν¬λνΈκ° μ λ°μ΄ν° λκΈ° μ μ μ€νλ©λλ€.
- μ΄ λ©μλ μμμ
this.setState()
λ₯Ό μ¬μ©νλ©΄ 무ν루νμ λΉ μ§λ€.
componentWillUpdate(nextProps, nextState) {
console.log(JSON.stringify(nextProps));
console.log(JSON.stringify(nextState));
}
componentDidUpdate
- μ»΄ν¬λνΈκ° 리 λλλ§μ λ§μΉ ν μ€ν
componentDidUpdate(prevProps, prevState) {
console.log(JSON.stringify(prevProps));
console.log(JSON.stringify(prevState));
}
componentWillUnmount
- μ»΄ν¬λνΈκ° DOM μμ μ¬λΌμ§ ν μ€νλλ λ©μλ μ λλ€.
componentWillUnmount() {
/* statement */
}