React LifeCycle βοΈ
𧬠What is LifeCycle in React ?
νκ΅μ΄λ‘λ μλͺ μ£ΌκΈ°λΌ λΆλ₯Έλ€.
리μ‘νΈμμ μ»΄ν¬λνΈκ° λνλ λ, μ λ°μ΄νΈλ λ, μ¬λΌμ§ λ μ€κ°μ€κ° μ΄λ ν μμ λ€μ μ€νμν€κ³ μΆμλ μ¬μ©νλ κ²μ΄ μ΄ LifeCycle APIλ₯Ό μ¬μ©νλ©΄ λλ€.
μ¬μ§μμ 보μ΄λ―μ΄ λ€μν APIλ€μ΄ μ‘΄μ¬νκΈ° λλ¬Έμ λ§€μ° λ³΅μ‘νκ³ μ΄λ €μ보μ΄μ§λ§ μ¬μ€ μΈμΈ νμλ μκ³ κ°λ μ μ΄ν΄νκ³ λμ€μ μΈ λ μ¬μ©νλ©΄ λλ€. νμ§λ§ μ΄λ νμ¬ Hookμ μ¬μ©νλ ν¨μν μ»΄ν¬λνΈμμ μ¬μ©νμ§ μκΈ° λλ¬Έμ μ¬μ©ν μΌμ ν¬κ² μκ² μ§λ§ κ·Έλλ λ κ±°μ ν΄λμ€ μ»΄ν¬λνΈ μ½λλ₯Ό λ³΄κ³ μ΄ν΄ν νμκ° μκΈ° λλ¬Έμ κΌ μμλλ κ²μ΄ μ’λ€.
π₯ Mounting
μ»΄ν¬λνΈκ° μ°λ¦¬ λΈλΌμ°μ μμ λνλλ€λ μλ―Έ
Constructor
μ»΄ν¬λνΈκ° κ°μ§κ³ μμ State μ΄κΈ°μ€μ μ νλ€λμ§ μλλ©΄ μ»΄ν¬λνΈκ° λ§λ€μ΄μ§λ ν΄μΌνλ μ΄κΈ°μ μμ λ€μ΄ μμλ μ€μ νλ€.
getDerivedStateFromProps
Propsλ‘ λ°μ κ°μ Stateμ λκ²°μν€κ³ μΆμ λ μ¬μ©νλ APIμ΄λ€. λ§μ΄ν κ³Όμ μμλ μκ³ , μ λ°μ΄νΈ κ³Όμ μμλ Propsκ° λ°λκ² λλ©΄ μ€νλλ€.
Render
μ°λ¦¬κ° μ΄λ€ λμ λ§λ€κ² λ μ§, νκ·Έλ€μ μ΄λ€ κ°μ μ λ¬ν κ±΄μ§ μ μν΄μ£Όκ² λλ€.
componentDidMount
λλν¨μκ° μ€νλκ³ λΈλΌμ°μ μμ μ»΄ν¬λνΈκ° λνλκ² λλ€λ©΄ componentDidMountκ° μ€νλλ€. μ΄ APIμμλ μΈλΆ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©ν κ²½μ° μ¬κΈ°μ μ¬μ©ν μ μμΌλ©°, λ€νΈμν¬ AJAX μμ²μ ν λλ μ΄ APIμμ μ¬μ©νκ² λλ€. λν μ»΄ν¬λνΈκ° λνλκ³ λͺ μ΄ λ€μ μ€ννκ³ μΆμ μμ λ ν μ μλ€.
π Updating
λΆλͺ¨ μ»΄ν¬λνΈλ State & Props κ° λ°λμ΄μ μ¬λλλ§ λλ κ²μ
shouldComponentUpdate
μ»΄ν¬λνΈκ° μ λ°μ΄νΈ λλ μ±λ₯μ μ΅μ ν μν¬λ μ¬μ©λλ€. 리μ‘νΈμμλ λΆλͺ¨ μ»΄νΌλνΈκ° 리λλλ§ λλ©΄ μμ μ»΄ν¬λνΈ render ν¨μλ λ€ μ€νλκ² λλ€. νμ§λ§ μ΄ μμ λ€μ΄ λΆνΈν μ λ μλ€. 리μ‘νΈμμλ 리λλλ§μ΄ λ°μνκ² λλ€λ©΄ κ°μ λμ κ·Έλ € μ€μ λκ³Ό λΉκ΅νμ¬ μκΈ΄ μ°¨μ΄λ₯Ό μ€μ λμ 리λλλ§ νλ λ°©μμΌλ‘ μλλλλ°, λ§μ½μ κ°μ λμ λͺ μ²κ°μ μ»΄ν¬λνΈλ€μ΄ κ·Έλ €μ§λ€κ³ νλ©΄ κ·Έκ²λ μ±λ₯μμΌλ‘ μ νλ‘ μ΄μ΄μ§ μ μκΈ° λλ¬Έμ μ±λ₯ μ΅μ νλ₯Ό μν΄μλ λ§€μ° μ€μν APIμ΄λ€. μ΄ APIλ true / false κ°μ 리ν΄νκ³ trueλ‘ λ°ννκ² λλ€λ©΄ render ν¨μκ° μ€νλλ€. μ¦ Virtual DOMμλ λλλ§μ ν μ§ λ§μ§ κ²°μ νλ ν¨μλΌκ³ μκ°νλ©΄ λλ€.
getSnapshotBeforeUpdate
μ΄λ λλλ§νκ³ λ°λ‘ λλλ§μ κ²°κ³Όλ¬Όμ΄ λΈλΌμ°μ μμ λ°μλκΈ° λ°λ‘ μ§μ μ νΈμΆλλ ν¨μμ΄λ€.
componentDidUpdate
Updating μμ μ λ§μΉκ³ μ»΄ν¬λνΈκ° μ λ°μ΄νΈ λμμ λ νΈμΆλλ ν¨μμ΄λ€.
πͺ¦ UnMounting
μ»΄ν¬λνΈκ° μ°λ¦¬ λΈλΌμ°μ μμμ μ¬λΌμ§ λ
κ·Έλ¬λ©΄ μμ μλ μ¬μ§μ κ° APIλ€μ νλμ© μμ보μ
componentWillUnmount
μΈλ§μ΄ν κ³Όμ μμ μ»΄ν¬λνΈκ° λΈλΌμ°μ μμ μ¬λΌμ§ λ νΈμΆλλ ν¨μμ΄λ€.