λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
μ‹œλ„/Code-States

[D+78] React Lifecycle

by πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2021. 1. 5.

 

 

D+78

- React Lifecycle -

( λ¦¬μ•‘νŠΈ 생λͺ…μ£ΌκΈ° )

 


 

 

Lifecycle

λ¦¬μ•‘νŠΈμ—μ„œμ˜ 라이프싸이클은 우리의 인생과도 λΉ„μŠ·ν•œ 면이 μžˆλŠ”λ°

인생에 μžˆμ–΄μ„œ μ€‘μš”ν•œ μˆœκ°„μ„ μ μ–΄λ³΄μžλ©΄

• νƒœμ–΄λ‚  λ•Œ

• 성인이 될 λ•Œ

• κ²°ν˜Όμ„ ν•  λ•Œ

• μ£½μŒμ„ μ•žλ‘κ³  μžˆμ„ λ•Œ

보편적으둜 μ΄λŸ¬ν•œ 것듀이 μžˆμ„ 수 μžˆκ² λ‹€.

 

이처럼 λ¦¬μ•‘νŠΈμ—μ„œ μ»΄ν¬λ„ŒνŠΈμ—μ„œλ„ μ€‘μš”ν•œ μˆœκ°„μ΄ μ‘΄μž¬ν•˜λŠ”λ°

 

크게 3κ°€μ§€λ‘œ 생성, μ—…λ°μ΄νŠΈ, 제거둜 λ‚˜λˆŒ 수 μžˆλ‹€.

 

μ΄λ•Œ μ»΄ν¬λ„ŒνŠΈμ—μ„œλŠ” μ€‘μš”ν•œ μˆœκ°„λ§ˆλ‹€ μ»΄ν¬λ„ŒνŠΈλ₯Ό λ Œλ”λ§ν•˜κ²Œ λ˜λŠ”λ°

이λ₯Ό λ‹€μ΄μ–΄κ·Έλž¨μœΌλ‘œ ν‘œν˜„ν•œ 그림이 λ°”λ‘œ 이 사진이닀.

 

λ¦¬μ•‘νŠΈμ—μ„œλŠ” 이 3가지λ₯Ό ν‘œν˜„ν•΄μ£ΌκΈ° μœ„ν•΄μ„œ μ‚¬μš©ν•˜λŠ” λ©”μ„œλ“œκ°€ μžˆλŠ”λ°

λ°”λ‘œ componentDidMount, componentDidUpdate, componentWillUnmount 이닀.

 

ν•΄λ‹Ή λ©”μ„œλ“œλ“€μ„ μ‚¬μš©ν•΄ μ£ΌκΈ° μœ„ν•΄μ„œ κ°€μž₯ 기본적인 쑰건은

라이프사이클 λ©”μ„œλ“œλŠ” ν•¨μˆ˜μ—μ„œ μ“Έ 수 μ—†κ³  ν΄λž˜μŠ€μ—μ„œ μ‚¬μš©ν•΄μ•Ό ν•œλ‹€λŠ” 점이닀.

 

이 λ©”μ„œλ“œλ“€μ„ μ‚¬μš©ν•˜λŠ” μ΄μœ λŠ” λ§Œμ•½ μš°λ¦¬κ°€ μš”μ²­μ„ 보낼 λ•Œ

render와 constructor 같은 κ²½μš°λŠ” 비동기 μš”μ²­μ„ ν˜ΈμΆœν•  수 κ°€ μ—†λ‹€.

 

ν•˜μ§€λ§Œ 라이프사이클 λ©”μ„œλ“œ 같은 κ²½μš°μ—λŠ” 비동기 μš”μ²­μ΄ κ°€λŠ₯ν•΄ 진닀고 ν•œλ‹€.

 

( λ°˜λ“œμ‹œ μ™Έμš°κ³  있자!! )

 

 

Lifecycle method μ‚¬μš©ν•΄ 보기

일단 λ¦¬μ•‘νŠΈμ—μ„œ 클래슀λ₯Ό μ‚¬μš©ν•΄ λ²„νŠΌμ„ λˆ„λ₯΄λ©΄ μˆ«μžκ°€ μ˜¬λΌκ°€λŠ” μ»΄ν¬λ„ŒνŠΈλ₯Ό λ§Œλ“€μ–΄ λ³΄μ•˜λ‹€.

 

μ΄λ•Œ μ—¬κΈ°μ„œ 라이프사이클 λ©”μ„œλ“œλ₯Ό μΆ”κ°€ν•΄μ£Όμ—ˆμ„ λ•Œμ˜ λͺ¨μŠ΅μ„ 확인해 보자

 

componentDidMount( )

componentDidMountλŠ” μƒμ„±λ λ•Œ ν˜„μƒμ΄ λ‚˜μ˜€λŠ” κ²ƒμœΌλ‘œ μƒˆλ‘œκ³ μΉ¨μ„ λˆŒλ €μ„λ•Œ

μ½˜μ†”μ°½μ—μ„œ μžμ—°μŠ€λŸ½κ²Œ λ°”λ‘œ λ‚΄μš©μ΄ λ– μžˆλŠ” 것을 확인할 수 μžˆλ‹€.

 

componentDidUpdate( )

componentDidUpdateλŠ” μƒνƒœκ°€ λ³€ν• λ•Œλ§ˆλ‹€ μ½˜μ†”μ°½μ—μ„œ κ²°κ³Όλ₯Ό λ³΄μ—¬μ£ΌλŠ” 것을 확인할 수 μžˆλ‹€.

 

componentWillUnmount( )

componentWillUnmountλŠ” λ§Œμ•½λ‚΄κ°€ μž„μ˜λ‘œ count upλ²„νŠΌμ„ μ§€μ› μ„λ•Œ λ‚˜μ˜€λŠ” 것을 확인할 수 μžˆλ‹€.

 

μ΄λ•Œ, λ²„νŠΌμ΄ μ§€μ›Œμ§€λ©΄μ„œ μ½˜μ†”μ°½μ— 'μ œκ±°ν•  λ•Œ'만 λ³΄μ—¬μ§€λŠ” 것이 μ•„λ‹Œ '생성할 λ•Œ'κ°€ λ³΄μ—¬μ§€λŠ” 것은

λ²„νŠΌμ΄ μ§€μ›Œμ§€λ©΄μ„œ μ–΄μ°Œλ˜μ—ˆλ“  λ Œλ”κ°€ λ˜μ—ˆκΈ° λ•Œλ¬Έμ΄λΌκ³  ν•  수 μžˆλ‹€.

 

 

λ°˜μ‘ν˜•

λŒ“κΈ€