← λͺ©λ‘

React Component Lifecycle Methods μ†Œκ°œ πŸš€

μž‘μ„±: 2025λ…„ 01μ›” 13일읽기: μ•½ 4λΆ„

μ•ˆλ…•ν•˜μ„Έμš”, μ›Ή κ°œλ°œμ— 관심 μžˆλŠ” λͺ¨λ“  μ£Όλ‹ˆμ–΄ 개발자 μ—¬λŸ¬λΆ„! μ˜€λŠ˜μ€ Reactμ—μ„œ 맀우 μ€‘μš”ν•œ κ°œλ… 쀑 ν•˜λ‚˜μΈ Component Lifecycle Methods에 λŒ€ν•΄ μ•Œμ•„λ³Ό κ±°μ˜ˆμš”. Reactλ₯Ό μ‚¬μš©ν•˜λ©΄μ„œ μ»΄ν¬λ„ŒνŠΈκ°€ μƒμ„±λ˜κ³  μ—…λ°μ΄νŠΈλ˜λ©° μ‚¬λΌμ§€λŠ” 과정을 μ΄ν•΄ν•˜λŠ” 것은 ν•„μˆ˜μ μž…λ‹ˆλ‹€. 이 과정을 잘 μ΄ν•΄ν•˜λ©΄, 더 효율적이고 κ°•λ ₯ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ§Œλ“€ 수 μžˆμ–΄μš”.

μ»΄ν¬λ„ŒνŠΈ 생λͺ…μ£ΌκΈ° μ΄ν•΄ν•˜κΈ°

React μ»΄ν¬λ„ŒνŠΈμ˜ 생λͺ…μ£ΌκΈ°λŠ” 크게 μ„Έ λΆ€λΆ„μœΌλ‘œ λ‚˜λˆŒ 수 μžˆμ–΄μš”: λ§ˆμš΄νŒ…(Mounting), μ—…λ°μ΄νŠΈ(Updating), μ–Έλ§ˆμš΄νŒ…(Unmounting)μž…λ‹ˆλ‹€.

λ§ˆμš΄νŒ…(Mounting)

λ§ˆμš΄νŒ…μ€ μ»΄ν¬λ„ŒνŠΈκ°€ DOM에 처음 μ‚½μž…λ˜λŠ” 과정을 λ§ν•΄μš”. 이 λ‹¨κ³„μ—μ„œλŠ” 주둜 초기 섀정을 ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, λ‹€μŒκ³Ό 같은 λ©”μ†Œλ“œλ“€μ΄ μžˆμ–΄μš”:

μ—…λ°μ΄νŠΈ(Updating)

μ»΄ν¬λ„ŒνŠΈλŠ” props λ˜λŠ” state의 λ³€κ²½μœΌλ‘œ 인해 μ—…λ°μ΄νŠΈλ  수 μžˆμ–΄μš”. 이 κ³Όμ •μ—μ„œλŠ” μ»΄ν¬λ„ŒνŠΈκ°€ λ¦¬λ Œλ”λ§λ©λ‹ˆλ‹€. μ—…λ°μ΄νŠΈ κ³Όμ •μ—μ„œ ν˜ΈμΆœλ˜λŠ” λ©”μ†Œλ“œλŠ” λ‹€μŒκ³Ό κ°™μ•„μš”:

μ–Έλ§ˆμš΄νŒ…(Unmounting)

μ–Έλ§ˆμš΄νŒ…μ€ μ»΄ν¬λ„ŒνŠΈκ°€ DOMμ—μ„œ μ œκ±°λ˜λŠ” κ³Όμ •μž…λ‹ˆλ‹€. 이 λ‹¨κ³„μ—μ„œλŠ” 주둜 정리 μž‘μ—…μ„ ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄:

μ‹€μ œ 예제둜 λ³΄λŠ” 생λͺ…μ£ΌκΈ° λ©”μ†Œλ“œ

이제 κ°„λ‹¨ν•œ μ½”λ“œ μŠ€λ‹ˆνŽ«μ„ 톡해 componentDidMount() λ©”μ†Œλ“œλ₯Ό μ–΄λ–»κ²Œ μ‚¬μš©ν•˜λŠ”μ§€ μ‚΄νŽ΄λ³Όκ²Œμš”.

class Welcome extends React.Component {
  constructor(props) {
    super(props);
    this.state = { hello: 'World' };
  }

  componentDidMount() {
    console.log('μ»΄ν¬λ„ŒνŠΈκ°€ λ§ˆμš΄νŠΈλ˜μ—ˆμŠ΅λ‹ˆλ‹€!');
  }

  render() {
    return <h1>Hello, {this.state.hello}!</h1>;
  }
}

μœ„ μ˜ˆμ œμ—μ„œλŠ” μ»΄ν¬λ„ŒνŠΈκ°€ 마운트될 λ•Œ μ½˜μ†”μ— λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€. 이처럼 componentDidMount()λŠ” μ»΄ν¬λ„ŒνŠΈκ°€ 화면에 λ‚˜νƒ€λ‚œ 직후에 ν•„μš”ν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

React의 μ»΄ν¬λ„ŒνŠΈ 생λͺ…μ£ΌκΈ° λ©”μ†Œλ“œλ₯Ό μ΄ν•΄ν•˜κ³  ν™œμš©ν•˜λŠ” 것은 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 더 효율적으둜 λ§Œλ“€κ³ , 버그λ₯Ό μ€„μ΄λŠ” 데 큰 도움이 λ©λ‹ˆλ‹€. 였늘 배운 λ‚΄μš©μ„ 잘 ν™œμš©ν•΄λ³΄μ„Έμš”!

μ΄μƒμœΌλ‘œ React Component Lifecycle Methods에 λŒ€ν•œ μ†Œκ°œλ₯Ό λ§ˆμΉ©λ‹ˆλ‹€. λ‹€μŒ μ‹œκ°„μ—λŠ” 더 μ‹¬ν™”λœ 주제둜 λ§Œλ‚˜μš”. Happy coding! πŸš€