Vue3 라이프 사이클

vue2의 라이프 사이클과 다른 vue3의 라이프 사이클이다.
윤여찬's avatar
Sep 14, 2023
Vue3 라이프 사이클
vue3 라이프 사이클을 읽어보고 이해하자.
 
Vue 3의 라이프사이클은 Vue 2와 다소 다릅니다. Vue 3에서는 다음과 같은 라이프사이클을 가집니다.
  • beforeCreate: Vue 인스턴스가 초기화 되기 전에 실행됩니다. 즉, data와 methods와 같은 인스턴스가 초기화되기 전이다.
  • created: Vue 인스턴스가 초기화된 후에 실행됩니다. data와 methods와 같은 인스턴스가 초기화된 후이다.
  • beforeMount: Vue 인스턴스가 DOM에 마운트되기 전에 실행됩니다. onBeforeMount등과 같이 쓰이는 듯하다? 제대로 알아봐야함
  • mounted: Vue 인스턴스가 DOM에 마운트된 후에 실행됩니다.
  • beforeUpdate: 컴포넌트가 업데이트 되기 전에 실행됩니다. 데이터 변경으로 인한 렌더링 직전입니다.
  • updated: 컴포넌트가 업데이트된 후에 실행됩니다. 데이터 변경으로 인한 렌더링 후입니다.
  • beforeUnmount: Vue 인스턴스가 언마운트되기 전에 실행됩니다.
  • unmounted: Vue 인스턴스가 언마운트된 후에 실행됩니다.
또한, Vue 3에서는 Vue 2와 달리 activateddeactivated 라이프사이클 훅이 제거되었습니다. 대신 beforeMountmounted를 활용해야합니다.
 
질문
하나 vue2와 확연이 달랐던것은 vue2에선 mounted가 객체 형태가 아닌 함수 형태인 onMounted()로 제공되고있었다. 동일한 역할을하지만 구분을 위해 해놓은건지 질문해봐야한다.
 
notion image

생명 주기 훅

notion image
vue-standard를 보며 Main을 확인해보니 시점을 알기 위한 console.log 들이 있어서 확인해보았다.
제일 먼저 찍히는건 역시 created였고, 그 후 mounted가 되기 전 시점인 beforemount인 onBeforeMount가 찍히고 난후 onMounted가 찍히는 것을 확인할 수 있었다.
마운트가 된 후에 nextTick이 실행되는 것까지 확인 그후 페이지를 전환할때 서버사이드 렌더링이 끝난 후에 onBeforeUnmount가 동작하고 그 후 onUnmounted 마운트가 떨어지는 것을 확인
 
 
 
Share article

찬찬잉