Vue.js 심화 마법 3강: 마법이 태어나서 사라질 때까지! (라이프사이클 훅)

안녕하세요! 가족과 함께하는 스마트 라이프입니다. 우리가 만든 레고 블록(컴포넌트)들도 생명이 있다는 사실, 알고 계셨나요? 오늘은 블록이 화면에 처음 나타날 때부터 사라질 때까지의 과정을 관리하는 라이프사이클 훅(Lifecycle Hooks)에 대해 배워볼게요!

Vue.js 심화 마법 3강: 마법이 태어나서 사라질 때까지! (라이프사이클 훅)

1. 라이프사이클: 웹사이트의 일생

강아지가 태어나고, 쑥쑥 자라고, 잠을 자러 가는 것처럼 Vue.js의 컴포넌트도 일생이 있어요. 이 과정마다 우리가 마법 주문을 걸어줄 수 있답니다.

  • Mounted (탄생): 블록이 화면에 짠! 하고 나타나는 순간이에요. 이때 “반가워!”라고 인사하거나 노래를 틀 수 있죠.
  • Updated (변신): 데이터가 바뀌어서 화면 모습이 변할 때예요. 옷을 갈아입는 순간이라고 생각하면 돼요!
  • Unmounted (안녕): 블록이 화면에서 사라질 때예요. 장난감을 다 가지고 놀고 상자에 정리하는 시간이죠.

2. 왜 이 마법이 필요한가요?

예를 들어, 화면이 나타나자마자 서버에서 마법 재료(데이터)를 가져오고 싶을 때는 ‘Mounted’ 마법을 써야 해요. 또 화면이 사라질 때 켜져 있던 마법 음악을 끄고 싶다면 ‘Unmounted’ 마법을 사용하면 된답니다. 아주 똑똑한 정리가 가능해지죠!

3. 실전 마법: 태어날 때 인사하는 인형 만들기

컴포넌트가 나타나고 사라질 때 어떤 일이 생기는지 코드로 확인해 볼까요?

<script>
const { createApp } = Vue;

createApp({
  data() {
    return { message: '마법 준비 중...' }
  },
  // [1. 탄생 마법]
  mounted() {
    console.log('블록이 화면에 나타났어요!');
    this.message = '세상에 나온 걸 환영해! ✨';
  },
  // [2. 변신 마법]
  updated() {
    console.log('화면이 바뀌었어요!');
  },
  // [3. 안녕 마법]
  unmounted() {
    alert('다음에 또 만나요! 장난감 정리 끝!');
  }
}).mount('#app');
</script>
Vue.js 심화 마법 3강: 마법이 태어나서 사라질 때까지! (라이프사이클 훅)

4. 스마트 라이프를 위한 가족 코딩 팁

아이들에게 이 개념을 ‘하루 일과’로 설명해 주세요. 아침에 일어나서(Mounted) 씻고 옷을 갈아입고(Updated) 밤에 잠자리에 드는(Unmounted) 과정처럼, 우리가 만드는 프로그램도 규칙적으로 움직인다는 걸 알려주세요. 이렇게 하면 논리적으로 생각하는 힘이 쑥쑥 자라난답니다.

마치며: 흐름을 아는 진정한 마법사

이제 여러분은 단순히 코드를 쓰는 게 아니라, 프로그램의 전체적인 흐름을 관리할 수 있게 되었어요. 정말 멋지죠? 다음 시간에는 **’마법의 지팡이 강화하기(Composition API)’**라는 주제로, 더 현대적이고 강력한 마법을 부리는 법을 배워볼게요. 내일 아침 9시에 다시 만나요!