Contents
생명 주기 훅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와 달리
activated
와 deactivated
라이프사이클 훅이 제거되었습니다. 대신 beforeMount
와 mounted
를 활용해야합니다.질문
하나 vue2와 확연이 달랐던것은 vue2에선 mounted가 객체 형태가 아닌 함수 형태인 onMounted()로 제공되고있었다. 동일한 역할을하지만 구분을 위해 해놓은건지 질문해봐야한다.
생명 주기 훅
vue-standard를 보며 Main을 확인해보니 시점을 알기 위한 console.log 들이 있어서 확인해보았다.
제일 먼저 찍히는건 역시 created였고, 그 후 mounted가 되기 전 시점인 beforemount인 onBeforeMount가 찍히고 난후 onMounted가 찍히는 것을 확인할 수 있었다.
마운트가 된 후에 nextTick이 실행되는 것까지 확인 그후 페이지를 전환할때 서버사이드 렌더링이 끝난 후에 onBeforeUnmount가 동작하고 그 후 onUnmounted 마운트가 떨어지는 것을 확인
Share article