react Lifecycle and state - slahsk/study GitHub Wiki

Lifecycle

λ¦¬μ—‘νŠΈ μ»΄ν¬λ„ŒνŠΈλŠ” 각각의 Lifecycle 을 κ°€μ§€κ³  있으며 이것을 override ν•˜μ—¬ νŠΉμ •ν•œ μ½”λ“œλ₯Ό 삽이 ν•  수 μžˆλ‹€.

Mounting

  • constructor()
  • componentWillMount()
  • render()
  • componentDidmount()

Updating

  • componentWillReceiveProps()
  • shouldComponentUpdate()
  • componentWillUpdate()
  • render()
  • componentDidUpdate()

Unmouting

  • componentWillUmmount()

state

λ¦¬μ—‘νŠΈλŠ” μ»΄ν¬λ„ŒνŠΈμ˜ λ‚΄λΆ€ μƒνƒœλ₯Ό λ³€κ²½ν•˜κΈ° μœ„ν•œ setState() λ©”μ„œλ“œλ₯Ό 제곡 ν•œλ‹€. μ»΄ν¬λ„ŒνŠΈ UI μƒνƒœλ₯Ό μ—…λ°μ΄νŠΈν•  λ–„λŠ” this.stateλ₯Ό 직접 μ‘°μž‘ν•˜λŠ” 것이 μ•„λ‹ˆλž‘ 항상 setState λ©”μ„œλ“œλ₯Ό μ΄μš©ν•΄μ•Ό ν•œλ‹€.

μ—¬κΈ°μ—λŠ” μ—¬λŸ¬ μ΄μœ κ°€ μžˆλ‹€. μš°μ„  this.stateλ₯Ό 직접 μ‘°μž‘ν•˜λŠ” 것은 λ¦¬μ—‘νŠΈμ˜ μƒνƒœ 관리λ₯Ό 우회 ν•˜λŠ” 것이닀. λ”°λΌμ„œ λ¦¬μ—‘νŠΈμ˜ νŒ¨λŸ¬λ‹€μž„μ„ μœ„λ°˜ν•˜κ²Œ 되며, λ‚˜μ€‘μ— setState()λ₯Ό ν˜ΈμΆœν•˜λ©΄ 이전에 μˆ˜ν–‰ν•œ 변경이 λ¬΄νš¨ν™”λ  μœ„ν—˜μ„±κΉŒμ§€ 내포 ν•˜κ³  μžˆλ‹€. λ˜ν•œ this.stateλ₯Ό 직접 μ‘°μž‘ν•˜λ©΄ λ‚˜μ€‘μ— μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μ„±λŠ₯을 κ°œμ„ ν•  수 μžˆλŠ” κΈ°νšŒκ°€ 쀄어든닀.